/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-fb4f59a-m [2022-04-28 10:32:14,608 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 10:32:14,609 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 10:32:14,647 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 10:32:14,647 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 10:32:14,648 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 10:32:14,651 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 10:32:14,652 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 10:32:14,653 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 10:32:14,658 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 10:32:14,659 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 10:32:14,660 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 10:32:14,660 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 10:32:14,662 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 10:32:14,662 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 10:32:14,665 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 10:32:14,665 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 10:32:14,666 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 10:32:14,668 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 10:32:14,670 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 10:32:14,671 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 10:32:14,673 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 10:32:14,673 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 10:32:14,674 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 10:32:14,675 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 10:32:14,678 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 10:32:14,679 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 10:32:14,679 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 10:32:14,679 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 10:32:14,680 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 10:32:14,680 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 10:32:14,680 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 10:32:14,682 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 10:32:14,682 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 10:32:14,682 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 10:32:14,683 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 10:32:14,683 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 10:32:14,683 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 10:32:14,683 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 10:32:14,684 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 10:32:14,684 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 10:32:14,685 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 10:32:14,686 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 10:32:14,695 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 10:32:14,696 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 10:32:14,696 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 10:32:14,697 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 10:32:14,697 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 10:32:14,697 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 10:32:14,697 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 10:32:14,697 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 10:32:14,697 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 10:32:14,698 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 10:32:14,698 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 10:32:14,698 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 10:32:14,698 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 10:32:14,698 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 10:32:14,698 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 10:32:14,698 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:32:14,698 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 10:32:14,698 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 10:32:14,698 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 10:32:14,699 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 10:32:14,699 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 10:32:14,699 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 10:32:14,699 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 10:32:14,853 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 10:32:14,874 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 10:32:14,876 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 10:32:14,876 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 10:32:14,877 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 10:32:14,877 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-28 10:32:14,932 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d8f796e1/2975985505094d869d3f338d838e977a/FLAGc39a05499 [2022-04-28 10:32:15,271 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 10:32:15,272 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/watermelon.c [2022-04-28 10:32:15,279 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d8f796e1/2975985505094d869d3f338d838e977a/FLAGc39a05499 [2022-04-28 10:32:15,291 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d8f796e1/2975985505094d869d3f338d838e977a [2022-04-28 10:32:15,292 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 10:32:15,294 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 10:32:15,295 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 10:32:15,295 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 10:32:15,297 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 10:32:15,298 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,299 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@740e4728 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15, skipping insertion in model container [2022-04-28 10:32:15,299 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,303 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 10:32:15,314 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 10:32:15,423 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-28 10:32:15,434 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:32:15,440 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 10:32:15,447 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-28 10:32:15,452 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:32:15,459 INFO L208 MainTranslator]: Completed translation [2022-04-28 10:32:15,460 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15 WrapperNode [2022-04-28 10:32:15,460 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 10:32:15,460 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 10:32:15,460 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 10:32:15,460 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 10:32:15,472 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,472 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,476 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,476 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,480 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,482 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,483 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,484 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 10:32:15,485 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 10:32:15,485 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 10:32:15,485 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 10:32:15,485 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (1/1) ... [2022-04-28 10:32:15,490 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:32:15,498 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:15,506 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 10:32:15,507 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 10:32:15,528 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 10:32:15,529 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 10:32:15,529 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 10:32:15,529 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 10:32:15,529 INFO L138 BoogieDeclarations]: Found implementation of procedure correct_version [2022-04-28 10:32:15,529 INFO L138 BoogieDeclarations]: Found implementation of procedure student_version [2022-04-28 10:32:15,529 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 10:32:15,530 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 10:32:15,530 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 10:32:15,531 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 10:32:15,531 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 10:32:15,531 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 10:32:15,531 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 10:32:15,531 INFO L130 BoogieDeclarations]: Found specification of procedure correct_version [2022-04-28 10:32:15,532 INFO L130 BoogieDeclarations]: Found specification of procedure student_version [2022-04-28 10:32:15,533 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 10:32:15,533 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 10:32:15,533 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 10:32:15,533 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 10:32:15,533 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 10:32:15,533 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 10:32:15,534 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 10:32:15,576 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 10:32:15,577 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 10:32:15,741 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 10:32:15,746 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 10:32:15,746 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 10:32:15,747 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:32:15 BoogieIcfgContainer [2022-04-28 10:32:15,747 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 10:32:15,748 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 10:32:15,749 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 10:32:15,751 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 10:32:15,751 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 10:32:15" (1/3) ... [2022-04-28 10:32:15,751 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@312de672 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:32:15, skipping insertion in model container [2022-04-28 10:32:15,751 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:32:15" (2/3) ... [2022-04-28 10:32:15,751 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@312de672 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:32:15, skipping insertion in model container [2022-04-28 10:32:15,752 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:32:15" (3/3) ... [2022-04-28 10:32:15,752 INFO L111 eAbstractionObserver]: Analyzing ICFG watermelon.c [2022-04-28 10:32:15,776 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 10:32:15,777 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 10:32:15,807 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 10:32:15,811 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@4605757, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6e1246cb [2022-04-28 10:32:15,811 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 10:32:15,825 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-28 10:32:15,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-28 10:32:15,830 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:15,830 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:15,831 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:15,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:15,834 INFO L85 PathProgramCache]: Analyzing trace with hash 345664661, now seen corresponding path program 1 times [2022-04-28 10:32:15,839 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:15,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2100808425] [2022-04-28 10:32:15,846 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:32:15,846 INFO L85 PathProgramCache]: Analyzing trace with hash 345664661, now seen corresponding path program 2 times [2022-04-28 10:32:15,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:15,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [872739781] [2022-04-28 10:32:15,849 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:15,849 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:15,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:16,120 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:16,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:16,149 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-28 10:32:16,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 10:32:16,150 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #93#return; {42#true} is VALID [2022-04-28 10:32:16,151 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:16,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:16,204 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~w := #in~w;~is_divisible~0 := ~true~0; {42#true} is VALID [2022-04-28 10:32:16,205 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-28 10:32:16,205 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-28 10:32:16,206 INFO L290 TraceCheckUtils]: 3: Hoare triple {65#(= |correct_version_#res| ~false~0)} assume true; {65#(= |correct_version_#res| ~false~0)} is VALID [2022-04-28 10:32:16,208 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-28 10:32:16,208 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-28 10:32:16,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:16,251 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~w := #in~w;~is_divisible~1 := ~true~0; {42#true} is VALID [2022-04-28 10:32:16,252 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-28 10:32:16,252 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-28 10:32:16,253 INFO L290 TraceCheckUtils]: 3: Hoare triple {67#(= ~false~0 |student_version_#res|)} assume true; {67#(= ~false~0 |student_version_#res|)} is VALID [2022-04-28 10:32:16,255 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-28 10:32:16,256 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-28 10:32:16,256 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-28 10:32:16,257 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 10:32:16,257 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #93#return; {42#true} is VALID [2022-04-28 10:32:16,257 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret7 := main(); {42#true} is VALID [2022-04-28 10:32:16,258 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-28 10:32:16,258 INFO L290 TraceCheckUtils]: 6: Hoare triple {42#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {42#true} is VALID [2022-04-28 10:32:16,259 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-28 10:32:16,259 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} ~w := #in~w;~is_divisible~0 := ~true~0; {42#true} is VALID [2022-04-28 10:32:16,259 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-28 10:32:16,260 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-28 10:32:16,260 INFO L290 TraceCheckUtils]: 11: Hoare triple {65#(= |correct_version_#res| ~false~0)} assume true; {65#(= |correct_version_#res| ~false~0)} is VALID [2022-04-28 10:32:16,261 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-28 10:32:16,262 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-28 10:32:16,263 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-28 10:32:16,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#true} ~w := #in~w;~is_divisible~1 := ~true~0; {42#true} is VALID [2022-04-28 10:32:16,263 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-28 10:32:16,264 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-28 10:32:16,264 INFO L290 TraceCheckUtils]: 18: Hoare triple {67#(= ~false~0 |student_version_#res|)} assume true; {67#(= ~false~0 |student_version_#res|)} is VALID [2022-04-28 10:32:16,265 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-28 10:32:16,266 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-28 10:32:16,266 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-28 10:32:16,267 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-28 10:32:16,268 INFO L290 TraceCheckUtils]: 23: Hoare triple {62#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {43#false} is VALID [2022-04-28 10:32:16,268 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-28 10:32:16,269 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:32:16,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:16,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [872739781] [2022-04-28 10:32:16,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [872739781] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:16,270 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:16,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:32:16,273 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:16,273 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2100808425] [2022-04-28 10:32:16,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2100808425] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:16,274 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:16,274 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:32:16,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2047297606] [2022-04-28 10:32:16,275 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:16,279 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-28 10:32:16,280 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:16,283 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-28 10:32:16,311 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-28 10:32:16,311 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:32:16,311 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:16,325 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:32:16,326 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=133, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:32:16,327 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-28 10:32:17,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:17,447 INFO L93 Difference]: Finished difference Result 91 states and 114 transitions. [2022-04-28 10:32:17,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 10:32:17,447 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-28 10:32:17,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:17,448 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-28 10:32:17,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 114 transitions. [2022-04-28 10:32:17,456 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-28 10:32:17,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 114 transitions. [2022-04-28 10:32:17,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 114 transitions. [2022-04-28 10:32:17,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:17,596 INFO L225 Difference]: With dead ends: 91 [2022-04-28 10:32:17,597 INFO L226 Difference]: Without dead ends: 42 [2022-04-28 10:32:17,599 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=85, Invalid=515, Unknown=0, NotChecked=0, Total=600 [2022-04-28 10:32:17,601 INFO L413 NwaCegarLoop]: 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-28 10:32:17,602 INFO L414 NwaCegarLoop]: 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-28 10:32:17,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-28 10:32:17,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 40. [2022-04-28 10:32:17,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:17,624 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-28 10:32:17,624 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-28 10:32:17,625 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-28 10:32:17,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:17,628 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-28 10:32:17,628 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-28 10:32:17,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:17,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:17,629 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-28 10:32:17,629 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-28 10:32:17,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:17,631 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-28 10:32:17,631 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-28 10:32:17,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:17,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:17,632 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:17,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:17,632 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-28 10:32:17,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 46 transitions. [2022-04-28 10:32:17,635 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 46 transitions. Word has length 25 [2022-04-28 10:32:17,635 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:17,635 INFO L495 AbstractCegarLoop]: Abstraction has 40 states and 46 transitions. [2022-04-28 10:32:17,635 INFO L496 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-28 10:32:17,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 46 transitions. [2022-04-28 10:32:17,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:17,669 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2022-04-28 10:32:17,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 10:32:17,670 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:17,670 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:17,670 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 10:32:17,670 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:17,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:17,671 INFO L85 PathProgramCache]: Analyzing trace with hash -1324779677, now seen corresponding path program 1 times [2022-04-28 10:32:17,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:17,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2099876150] [2022-04-28 10:32:17,671 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:32:17,671 INFO L85 PathProgramCache]: Analyzing trace with hash -1324779677, now seen corresponding path program 2 times [2022-04-28 10:32:17,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:17,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [340795696] [2022-04-28 10:32:17,672 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:17,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:17,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:17,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:17,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:17,726 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-28 10:32:17,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {441#true} assume true; {441#true} is VALID [2022-04-28 10:32:17,727 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {441#true} {441#true} #93#return; {441#true} is VALID [2022-04-28 10:32:17,727 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:17,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:17,731 INFO L290 TraceCheckUtils]: 0: Hoare triple {441#true} ~w := #in~w;~is_divisible~0 := ~true~0; {441#true} is VALID [2022-04-28 10:32:17,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {441#true} assume ~w < 4;~is_divisible~0 := ~false~0; {441#true} is VALID [2022-04-28 10:32:17,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {441#true} #res := ~is_divisible~0; {441#true} is VALID [2022-04-28 10:32:17,732 INFO L290 TraceCheckUtils]: 3: Hoare triple {441#true} assume true; {441#true} is VALID [2022-04-28 10:32:17,732 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {441#true} {441#true} #87#return; {441#true} is VALID [2022-04-28 10:32:17,732 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-28 10:32:17,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:17,751 INFO L290 TraceCheckUtils]: 0: Hoare triple {441#true} ~w := #in~w;~is_divisible~1 := ~true~0; {441#true} is VALID [2022-04-28 10:32:17,752 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-28 10:32:17,754 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-28 10:32:17,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {442#false} assume !(~i~1 != ~w); {442#false} is VALID [2022-04-28 10:32:17,755 INFO L290 TraceCheckUtils]: 4: Hoare triple {442#false} #res := ~is_divisible~1; {442#false} is VALID [2022-04-28 10:32:17,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {442#false} assume true; {442#false} is VALID [2022-04-28 10:32:17,755 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {442#false} {441#true} #89#return; {442#false} is VALID [2022-04-28 10:32:17,756 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-28 10:32:17,756 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-28 10:32:17,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {441#true} assume true; {441#true} is VALID [2022-04-28 10:32:17,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {441#true} {441#true} #93#return; {441#true} is VALID [2022-04-28 10:32:17,757 INFO L272 TraceCheckUtils]: 4: Hoare triple {441#true} call #t~ret7 := main(); {441#true} is VALID [2022-04-28 10:32:17,757 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-28 10:32:17,757 INFO L290 TraceCheckUtils]: 6: Hoare triple {441#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {441#true} is VALID [2022-04-28 10:32:17,757 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-28 10:32:17,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {441#true} ~w := #in~w;~is_divisible~0 := ~true~0; {441#true} is VALID [2022-04-28 10:32:17,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {441#true} assume ~w < 4;~is_divisible~0 := ~false~0; {441#true} is VALID [2022-04-28 10:32:17,758 INFO L290 TraceCheckUtils]: 10: Hoare triple {441#true} #res := ~is_divisible~0; {441#true} is VALID [2022-04-28 10:32:17,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {441#true} assume true; {441#true} is VALID [2022-04-28 10:32:17,758 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {441#true} {441#true} #87#return; {441#true} is VALID [2022-04-28 10:32:17,758 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-28 10:32:17,758 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-28 10:32:17,758 INFO L290 TraceCheckUtils]: 15: Hoare triple {441#true} ~w := #in~w;~is_divisible~1 := ~true~0; {441#true} is VALID [2022-04-28 10:32:17,759 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-28 10:32:17,760 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-28 10:32:17,760 INFO L290 TraceCheckUtils]: 18: Hoare triple {442#false} assume !(~i~1 != ~w); {442#false} is VALID [2022-04-28 10:32:17,760 INFO L290 TraceCheckUtils]: 19: Hoare triple {442#false} #res := ~is_divisible~1; {442#false} is VALID [2022-04-28 10:32:17,760 INFO L290 TraceCheckUtils]: 20: Hoare triple {442#false} assume true; {442#false} is VALID [2022-04-28 10:32:17,760 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {442#false} {441#true} #89#return; {442#false} is VALID [2022-04-28 10:32:17,761 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-28 10:32:17,761 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-28 10:32:17,761 INFO L290 TraceCheckUtils]: 24: Hoare triple {442#false} ~cond := #in~cond; {442#false} is VALID [2022-04-28 10:32:17,761 INFO L290 TraceCheckUtils]: 25: Hoare triple {442#false} assume 0 == ~cond; {442#false} is VALID [2022-04-28 10:32:17,761 INFO L290 TraceCheckUtils]: 26: Hoare triple {442#false} assume !false; {442#false} is VALID [2022-04-28 10:32:17,762 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:32:17,762 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:17,763 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [340795696] [2022-04-28 10:32:17,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [340795696] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:17,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:17,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 10:32:17,764 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:17,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2099876150] [2022-04-28 10:32:17,765 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2099876150] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:17,765 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:17,765 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 10:32:17,765 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [860866586] [2022-04-28 10:32:17,765 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:17,767 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-28 10:32:17,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:17,780 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-28 10:32:17,798 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-28 10:32:17,799 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 10:32:17,799 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:17,799 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 10:32:17,799 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 10:32:17,800 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-28 10:32:17,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:17,911 INFO L93 Difference]: Finished difference Result 55 states and 63 transitions. [2022-04-28 10:32:17,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 10:32:17,912 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-28 10:32:17,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:17,912 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-28 10:32:17,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-28 10:32:17,913 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-28 10:32:17,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-28 10:32:17,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2022-04-28 10:32:17,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:17,950 INFO L225 Difference]: With dead ends: 55 [2022-04-28 10:32:17,950 INFO L226 Difference]: Without dead ends: 42 [2022-04-28 10:32:17,957 INFO L412 NwaCegarLoop]: 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-28 10:32:17,959 INFO L413 NwaCegarLoop]: 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-28 10:32:17,964 INFO L414 NwaCegarLoop]: 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-28 10:32:17,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-28 10:32:17,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2022-04-28 10:32:17,975 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:17,975 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-28 10:32:17,975 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-28 10:32:17,975 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-28 10:32:17,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:17,979 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-28 10:32:17,979 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-28 10:32:17,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:17,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:17,980 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-28 10:32:17,980 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-28 10:32:17,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:17,982 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-04-28 10:32:17,982 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-28 10:32:17,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:17,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:17,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:17,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:17,982 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-28 10:32:17,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 47 transitions. [2022-04-28 10:32:17,984 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 47 transitions. Word has length 27 [2022-04-28 10:32:17,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:17,984 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 47 transitions. [2022-04-28 10:32:17,984 INFO L496 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-28 10:32:17,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 47 transitions. [2022-04-28 10:32:18,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:18,031 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 47 transitions. [2022-04-28 10:32:18,032 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 10:32:18,032 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:18,032 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:18,032 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 10:32:18,033 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:18,033 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:18,033 INFO L85 PathProgramCache]: Analyzing trace with hash -855151641, now seen corresponding path program 1 times [2022-04-28 10:32:18,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:18,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1070636331] [2022-04-28 10:32:18,033 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:32:18,034 INFO L85 PathProgramCache]: Analyzing trace with hash -855151641, now seen corresponding path program 2 times [2022-04-28 10:32:18,034 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:18,034 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1996143478] [2022-04-28 10:32:18,034 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:18,034 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:18,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:18,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,080 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-28 10:32:18,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-28 10:32:18,080 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {740#true} {740#true} #93#return; {740#true} is VALID [2022-04-28 10:32:18,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:18,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,092 INFO L290 TraceCheckUtils]: 0: Hoare triple {740#true} ~w := #in~w;~is_divisible~0 := ~true~0; {740#true} is VALID [2022-04-28 10:32:18,093 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-28 10:32:18,093 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-28 10:32:18,093 INFO L290 TraceCheckUtils]: 3: Hoare triple {741#false} assume !(~i~0 != ~w); {741#false} is VALID [2022-04-28 10:32:18,093 INFO L290 TraceCheckUtils]: 4: Hoare triple {741#false} #res := ~is_divisible~0; {741#false} is VALID [2022-04-28 10:32:18,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {741#false} assume true; {741#false} is VALID [2022-04-28 10:32:18,094 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {741#false} {740#true} #87#return; {741#false} is VALID [2022-04-28 10:32:18,094 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-28 10:32:18,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,107 INFO L290 TraceCheckUtils]: 0: Hoare triple {740#true} ~w := #in~w;~is_divisible~1 := ~true~0; {740#true} is VALID [2022-04-28 10:32:18,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {740#true} assume ~w < 4;~is_divisible~1 := ~false~0; {740#true} is VALID [2022-04-28 10:32:18,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {740#true} #res := ~is_divisible~1; {740#true} is VALID [2022-04-28 10:32:18,108 INFO L290 TraceCheckUtils]: 3: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-28 10:32:18,108 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {740#true} {741#false} #89#return; {741#false} is VALID [2022-04-28 10:32:18,109 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-28 10:32:18,109 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-28 10:32:18,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-28 10:32:18,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {740#true} {740#true} #93#return; {740#true} is VALID [2022-04-28 10:32:18,109 INFO L272 TraceCheckUtils]: 4: Hoare triple {740#true} call #t~ret7 := main(); {740#true} is VALID [2022-04-28 10:32:18,109 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-28 10:32:18,109 INFO L290 TraceCheckUtils]: 6: Hoare triple {740#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {740#true} is VALID [2022-04-28 10:32:18,109 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-28 10:32:18,109 INFO L290 TraceCheckUtils]: 8: Hoare triple {740#true} ~w := #in~w;~is_divisible~0 := ~true~0; {740#true} is VALID [2022-04-28 10:32:18,115 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-28 10:32:18,116 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-28 10:32:18,116 INFO L290 TraceCheckUtils]: 11: Hoare triple {741#false} assume !(~i~0 != ~w); {741#false} is VALID [2022-04-28 10:32:18,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {741#false} #res := ~is_divisible~0; {741#false} is VALID [2022-04-28 10:32:18,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {741#false} assume true; {741#false} is VALID [2022-04-28 10:32:18,116 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {741#false} {740#true} #87#return; {741#false} is VALID [2022-04-28 10:32:18,116 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-28 10:32:18,116 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-28 10:32:18,116 INFO L290 TraceCheckUtils]: 17: Hoare triple {740#true} ~w := #in~w;~is_divisible~1 := ~true~0; {740#true} is VALID [2022-04-28 10:32:18,116 INFO L290 TraceCheckUtils]: 18: Hoare triple {740#true} assume ~w < 4;~is_divisible~1 := ~false~0; {740#true} is VALID [2022-04-28 10:32:18,117 INFO L290 TraceCheckUtils]: 19: Hoare triple {740#true} #res := ~is_divisible~1; {740#true} is VALID [2022-04-28 10:32:18,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {740#true} assume true; {740#true} is VALID [2022-04-28 10:32:18,117 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {740#true} {741#false} #89#return; {741#false} is VALID [2022-04-28 10:32:18,117 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-28 10:32:18,117 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-28 10:32:18,117 INFO L290 TraceCheckUtils]: 24: Hoare triple {741#false} ~cond := #in~cond; {741#false} is VALID [2022-04-28 10:32:18,117 INFO L290 TraceCheckUtils]: 25: Hoare triple {741#false} assume 0 == ~cond; {741#false} is VALID [2022-04-28 10:32:18,117 INFO L290 TraceCheckUtils]: 26: Hoare triple {741#false} assume !false; {741#false} is VALID [2022-04-28 10:32:18,117 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:32:18,118 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:18,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1996143478] [2022-04-28 10:32:18,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1996143478] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:18,118 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:18,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 10:32:18,118 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:18,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1070636331] [2022-04-28 10:32:18,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1070636331] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:18,118 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:18,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 10:32:18,118 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1557770979] [2022-04-28 10:32:18,118 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:18,119 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-28 10:32:18,119 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:18,119 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-28 10:32:18,134 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-28 10:32:18,134 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 10:32:18,134 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:18,135 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 10:32:18,135 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 10:32:18,135 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-28 10:32:18,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:18,235 INFO L93 Difference]: Finished difference Result 72 states and 83 transitions. [2022-04-28 10:32:18,235 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 10:32:18,236 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-28 10:32:18,236 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:18,236 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-28 10:32:18,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 63 transitions. [2022-04-28 10:32:18,238 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-28 10:32:18,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 63 transitions. [2022-04-28 10:32:18,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 63 transitions. [2022-04-28 10:32:18,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:18,286 INFO L225 Difference]: With dead ends: 72 [2022-04-28 10:32:18,286 INFO L226 Difference]: Without dead ends: 43 [2022-04-28 10:32:18,287 INFO L412 NwaCegarLoop]: 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-28 10:32:18,289 INFO L413 NwaCegarLoop]: 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-28 10:32:18,291 INFO L414 NwaCegarLoop]: 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-28 10:32:18,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-28 10:32:18,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-04-28 10:32:18,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:18,304 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-28 10:32:18,304 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-28 10:32:18,304 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-28 10:32:18,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:18,307 INFO L93 Difference]: Finished difference Result 43 states and 49 transitions. [2022-04-28 10:32:18,307 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-28 10:32:18,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:18,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:18,311 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-28 10:32:18,311 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-28 10:32:18,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:18,314 INFO L93 Difference]: Finished difference Result 43 states and 49 transitions. [2022-04-28 10:32:18,314 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-28 10:32:18,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:18,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:18,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:18,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:18,314 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-28 10:32:18,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 48 transitions. [2022-04-28 10:32:18,317 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 48 transitions. Word has length 27 [2022-04-28 10:32:18,318 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:18,322 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 48 transitions. [2022-04-28 10:32:18,322 INFO L496 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-28 10:32:18,322 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 48 transitions. [2022-04-28 10:32:18,372 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:18,373 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-04-28 10:32:18,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 10:32:18,373 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:18,373 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:18,373 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 10:32:18,373 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:18,374 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:18,374 INFO L85 PathProgramCache]: Analyzing trace with hash 743790053, now seen corresponding path program 1 times [2022-04-28 10:32:18,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:18,374 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1931591663] [2022-04-28 10:32:18,385 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:18,385 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:18,385 INFO L85 PathProgramCache]: Analyzing trace with hash 743790053, now seen corresponding path program 2 times [2022-04-28 10:32:18,386 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:18,386 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2054951872] [2022-04-28 10:32:18,386 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:18,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:18,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,435 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:18,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,440 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-28 10:32:18,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-28 10:32:18,440 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1077#true} {1077#true} #93#return; {1077#true} is VALID [2022-04-28 10:32:18,440 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:18,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,445 INFO L290 TraceCheckUtils]: 0: Hoare triple {1077#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1077#true} is VALID [2022-04-28 10:32:18,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {1077#true} assume ~w < 4;~is_divisible~0 := ~false~0; {1077#true} is VALID [2022-04-28 10:32:18,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {1077#true} #res := ~is_divisible~0; {1077#true} is VALID [2022-04-28 10:32:18,446 INFO L290 TraceCheckUtils]: 3: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-28 10:32:18,446 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1077#true} {1077#true} #87#return; {1077#true} is VALID [2022-04-28 10:32:18,446 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-28 10:32:18,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,469 INFO L290 TraceCheckUtils]: 0: Hoare triple {1077#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1077#true} is VALID [2022-04-28 10:32:18,469 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-28 10:32:18,470 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-28 10:32:18,470 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-28 10:32:18,470 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-28 10:32:18,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {1078#false} assume !(~i~1 != ~w); {1078#false} is VALID [2022-04-28 10:32:18,471 INFO L290 TraceCheckUtils]: 6: Hoare triple {1078#false} #res := ~is_divisible~1; {1078#false} is VALID [2022-04-28 10:32:18,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {1078#false} assume true; {1078#false} is VALID [2022-04-28 10:32:18,471 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1078#false} {1077#true} #89#return; {1078#false} is VALID [2022-04-28 10:32:18,472 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-28 10:32:18,472 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-28 10:32:18,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-28 10:32:18,472 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1077#true} {1077#true} #93#return; {1077#true} is VALID [2022-04-28 10:32:18,472 INFO L272 TraceCheckUtils]: 4: Hoare triple {1077#true} call #t~ret7 := main(); {1077#true} is VALID [2022-04-28 10:32:18,472 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-28 10:32:18,473 INFO L290 TraceCheckUtils]: 6: Hoare triple {1077#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1077#true} is VALID [2022-04-28 10:32:18,473 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-28 10:32:18,473 INFO L290 TraceCheckUtils]: 8: Hoare triple {1077#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1077#true} is VALID [2022-04-28 10:32:18,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {1077#true} assume ~w < 4;~is_divisible~0 := ~false~0; {1077#true} is VALID [2022-04-28 10:32:18,473 INFO L290 TraceCheckUtils]: 10: Hoare triple {1077#true} #res := ~is_divisible~0; {1077#true} is VALID [2022-04-28 10:32:18,473 INFO L290 TraceCheckUtils]: 11: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-28 10:32:18,473 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1077#true} {1077#true} #87#return; {1077#true} is VALID [2022-04-28 10:32:18,473 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-28 10:32:18,473 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-28 10:32:18,474 INFO L290 TraceCheckUtils]: 15: Hoare triple {1077#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1077#true} is VALID [2022-04-28 10:32:18,474 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-28 10:32:18,474 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-28 10:32:18,475 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-28 10:32:18,475 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-28 10:32:18,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {1078#false} assume !(~i~1 != ~w); {1078#false} is VALID [2022-04-28 10:32:18,476 INFO L290 TraceCheckUtils]: 21: Hoare triple {1078#false} #res := ~is_divisible~1; {1078#false} is VALID [2022-04-28 10:32:18,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {1078#false} assume true; {1078#false} is VALID [2022-04-28 10:32:18,476 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1078#false} {1077#true} #89#return; {1078#false} is VALID [2022-04-28 10:32:18,476 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-28 10:32:18,476 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-28 10:32:18,476 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-28 10:32:18,476 INFO L290 TraceCheckUtils]: 27: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-28 10:32:18,476 INFO L290 TraceCheckUtils]: 28: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-28 10:32:18,477 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-28 10:32:18,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:18,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2054951872] [2022-04-28 10:32:18,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2054951872] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:18,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1518050820] [2022-04-28 10:32:18,477 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:18,477 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:18,478 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:18,487 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:18,506 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 10:32:18,537 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 10:32:18,537 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:18,539 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 10:32:18,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:18,554 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:19,052 INFO L272 TraceCheckUtils]: 0: Hoare triple {1077#true} call ULTIMATE.init(); {1077#true} is VALID [2022-04-28 10:32:19,052 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-28 10:32:19,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {1077#true} assume true; {1077#true} is VALID [2022-04-28 10:32:19,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1077#true} {1077#true} #93#return; {1077#true} is VALID [2022-04-28 10:32:19,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {1077#true} call #t~ret7 := main(); {1077#true} is VALID [2022-04-28 10:32:19,058 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-28 10:32:19,058 INFO L290 TraceCheckUtils]: 6: Hoare triple {1077#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1077#true} is VALID [2022-04-28 10:32:19,058 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-28 10:32:19,059 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-28 10:32:19,060 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-28 10:32:19,060 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-28 10:32:19,060 INFO L290 TraceCheckUtils]: 11: Hoare triple {1130#(< |correct_version_#in~w| 4)} assume true; {1130#(< |correct_version_#in~w| 4)} is VALID [2022-04-28 10:32:19,061 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-28 10:32:19,062 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-28 10:32:19,062 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-28 10:32:19,062 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-28 10:32:19,063 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-28 10:32:19,063 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-28 10:32:19,063 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-28 10:32:19,064 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-28 10:32:19,064 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-28 10:32:19,064 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-28 10:32:19,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {1154#(<= 4 |student_version_#in~w|)} assume true; {1154#(<= 4 |student_version_#in~w|)} is VALID [2022-04-28 10:32:19,065 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-28 10:32:19,065 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-28 10:32:19,065 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-28 10:32:19,066 INFO L290 TraceCheckUtils]: 26: Hoare triple {1078#false} ~cond := #in~cond; {1078#false} is VALID [2022-04-28 10:32:19,066 INFO L290 TraceCheckUtils]: 27: Hoare triple {1078#false} assume 0 == ~cond; {1078#false} is VALID [2022-04-28 10:32:19,066 INFO L290 TraceCheckUtils]: 28: Hoare triple {1078#false} assume !false; {1078#false} is VALID [2022-04-28 10:32:19,066 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-28 10:32:19,066 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 10:32:19,066 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1518050820] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:19,066 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:32:19,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [5] total 10 [2022-04-28 10:32:19,067 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:19,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1931591663] [2022-04-28 10:32:19,067 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1931591663] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:19,067 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:19,067 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:32:19,067 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1534866294] [2022-04-28 10:32:19,067 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:19,067 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-28 10:32:19,068 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:19,068 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-28 10:32:19,086 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-28 10:32:19,086 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:32:19,086 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:19,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:32:19,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:32:19,087 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-28 10:32:19,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:19,346 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-28 10:32:19,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 10:32:19,346 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-28 10:32:19,348 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:19,348 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-28 10:32:19,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 51 transitions. [2022-04-28 10:32:19,350 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-28 10:32:19,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 51 transitions. [2022-04-28 10:32:19,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 51 transitions. [2022-04-28 10:32:19,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:19,394 INFO L225 Difference]: With dead ends: 56 [2022-04-28 10:32:19,394 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 10:32:19,394 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-28 10:32:19,395 INFO L413 NwaCegarLoop]: 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-28 10:32:19,396 INFO L414 NwaCegarLoop]: 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-28 10:32:19,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 10:32:19,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 42. [2022-04-28 10:32:19,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:19,419 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-28 10:32:19,419 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-28 10:32:19,419 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-28 10:32:19,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:19,421 INFO L93 Difference]: Finished difference Result 45 states and 50 transitions. [2022-04-28 10:32:19,421 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 50 transitions. [2022-04-28 10:32:19,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:19,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:19,421 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-28 10:32:19,421 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-28 10:32:19,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:19,422 INFO L93 Difference]: Finished difference Result 45 states and 50 transitions. [2022-04-28 10:32:19,422 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 50 transitions. [2022-04-28 10:32:19,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:19,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:19,422 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:19,423 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:19,423 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-28 10:32:19,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-28 10:32:19,424 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 29 [2022-04-28 10:32:19,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:19,424 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-28 10:32:19,424 INFO L496 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-28 10:32:19,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-28 10:32:19,465 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:19,466 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-28 10:32:19,466 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 10:32:19,466 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:19,466 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:19,483 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:19,679 WARN L477 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-28 10:32:19,680 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:19,680 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:19,680 INFO L85 PathProgramCache]: Analyzing trace with hash 198429957, now seen corresponding path program 1 times [2022-04-28 10:32:19,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:19,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [93856497] [2022-04-28 10:32:19,684 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:19,684 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:19,684 INFO L85 PathProgramCache]: Analyzing trace with hash 198429957, now seen corresponding path program 2 times [2022-04-28 10:32:19,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:19,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [499887775] [2022-04-28 10:32:19,684 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:19,684 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:19,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:19,709 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:19,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:19,714 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-28 10:32:19,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-28 10:32:19,714 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1480#true} {1480#true} #93#return; {1480#true} is VALID [2022-04-28 10:32:19,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:19,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:19,736 INFO L290 TraceCheckUtils]: 0: Hoare triple {1480#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1480#true} is VALID [2022-04-28 10:32:19,737 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-28 10:32:19,737 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-28 10:32:19,738 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-28 10:32:19,738 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-28 10:32:19,738 INFO L290 TraceCheckUtils]: 5: Hoare triple {1481#false} assume !(~i~0 != ~w); {1481#false} is VALID [2022-04-28 10:32:19,738 INFO L290 TraceCheckUtils]: 6: Hoare triple {1481#false} #res := ~is_divisible~0; {1481#false} is VALID [2022-04-28 10:32:19,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {1481#false} assume true; {1481#false} is VALID [2022-04-28 10:32:19,739 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1481#false} {1480#true} #87#return; {1481#false} is VALID [2022-04-28 10:32:19,739 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 10:32:19,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:19,744 INFO L290 TraceCheckUtils]: 0: Hoare triple {1480#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1480#true} is VALID [2022-04-28 10:32:19,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {1480#true} assume ~w < 4;~is_divisible~1 := ~false~0; {1480#true} is VALID [2022-04-28 10:32:19,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {1480#true} #res := ~is_divisible~1; {1480#true} is VALID [2022-04-28 10:32:19,745 INFO L290 TraceCheckUtils]: 3: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-28 10:32:19,745 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {1480#true} {1481#false} #89#return; {1481#false} is VALID [2022-04-28 10:32:19,745 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-28 10:32:19,745 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-28 10:32:19,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-28 10:32:19,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1480#true} {1480#true} #93#return; {1480#true} is VALID [2022-04-28 10:32:19,746 INFO L272 TraceCheckUtils]: 4: Hoare triple {1480#true} call #t~ret7 := main(); {1480#true} is VALID [2022-04-28 10:32:19,746 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-28 10:32:19,746 INFO L290 TraceCheckUtils]: 6: Hoare triple {1480#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1480#true} is VALID [2022-04-28 10:32:19,746 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-28 10:32:19,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {1480#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1480#true} is VALID [2022-04-28 10:32:19,746 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-28 10:32:19,746 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-28 10:32:19,747 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-28 10:32:19,747 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-28 10:32:19,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {1481#false} assume !(~i~0 != ~w); {1481#false} is VALID [2022-04-28 10:32:19,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {1481#false} #res := ~is_divisible~0; {1481#false} is VALID [2022-04-28 10:32:19,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {1481#false} assume true; {1481#false} is VALID [2022-04-28 10:32:19,748 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1481#false} {1480#true} #87#return; {1481#false} is VALID [2022-04-28 10:32:19,748 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-28 10:32:19,748 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-28 10:32:19,748 INFO L290 TraceCheckUtils]: 19: Hoare triple {1480#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1480#true} is VALID [2022-04-28 10:32:19,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#true} assume ~w < 4;~is_divisible~1 := ~false~0; {1480#true} is VALID [2022-04-28 10:32:19,748 INFO L290 TraceCheckUtils]: 21: Hoare triple {1480#true} #res := ~is_divisible~1; {1480#true} is VALID [2022-04-28 10:32:19,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-28 10:32:19,748 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1480#true} {1481#false} #89#return; {1481#false} is VALID [2022-04-28 10:32:19,748 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-28 10:32:19,748 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-28 10:32:19,748 INFO L290 TraceCheckUtils]: 26: Hoare triple {1481#false} ~cond := #in~cond; {1481#false} is VALID [2022-04-28 10:32:19,749 INFO L290 TraceCheckUtils]: 27: Hoare triple {1481#false} assume 0 == ~cond; {1481#false} is VALID [2022-04-28 10:32:19,749 INFO L290 TraceCheckUtils]: 28: Hoare triple {1481#false} assume !false; {1481#false} is VALID [2022-04-28 10:32:19,749 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-28 10:32:19,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:19,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [499887775] [2022-04-28 10:32:19,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [499887775] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:19,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [764666554] [2022-04-28 10:32:19,749 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:19,749 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:19,749 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:19,750 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:19,751 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 10:32:19,786 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 10:32:19,786 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:19,787 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 10:32:19,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:19,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:20,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {1480#true} call ULTIMATE.init(); {1480#true} is VALID [2022-04-28 10:32:20,189 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-28 10:32:20,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {1480#true} assume true; {1480#true} is VALID [2022-04-28 10:32:20,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1480#true} {1480#true} #93#return; {1480#true} is VALID [2022-04-28 10:32:20,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {1480#true} call #t~ret7 := main(); {1480#true} is VALID [2022-04-28 10:32:20,189 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-28 10:32:20,189 INFO L290 TraceCheckUtils]: 6: Hoare triple {1480#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1480#true} is VALID [2022-04-28 10:32:20,190 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-28 10:32:20,191 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-28 10:32:20,192 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-28 10:32:20,193 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-28 10:32:20,194 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-28 10:32:20,198 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-28 10:32:20,198 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-28 10:32:20,199 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-28 10:32:20,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {1533#(<= 4 |correct_version_#in~w|)} assume true; {1533#(<= 4 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:20,200 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-28 10:32:20,201 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-28 10:32:20,201 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-28 10:32:20,201 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-28 10:32:20,202 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-28 10:32:20,202 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-28 10:32:20,202 INFO L290 TraceCheckUtils]: 22: Hoare triple {1569#(< |student_version_#in~w| 4)} assume true; {1569#(< |student_version_#in~w| 4)} is VALID [2022-04-28 10:32:20,203 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-28 10:32:20,203 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-28 10:32:20,203 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-28 10:32:20,203 INFO L290 TraceCheckUtils]: 26: Hoare triple {1481#false} ~cond := #in~cond; {1481#false} is VALID [2022-04-28 10:32:20,203 INFO L290 TraceCheckUtils]: 27: Hoare triple {1481#false} assume 0 == ~cond; {1481#false} is VALID [2022-04-28 10:32:20,204 INFO L290 TraceCheckUtils]: 28: Hoare triple {1481#false} assume !false; {1481#false} is VALID [2022-04-28 10:32:20,204 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-28 10:32:20,204 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 10:32:20,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [764666554] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:20,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 10:32:20,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [5] total 10 [2022-04-28 10:32:20,204 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:20,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [93856497] [2022-04-28 10:32:20,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [93856497] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:20,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:20,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:32:20,204 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [263002630] [2022-04-28 10:32:20,205 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:20,205 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-28 10:32:20,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:20,205 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-28 10:32:20,226 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-28 10:32:20,226 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:32:20,226 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:20,226 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:32:20,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:32:20,227 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-28 10:32:20,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:20,440 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2022-04-28 10:32:20,440 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 10:32:20,441 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-28 10:32:20,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:20,441 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-28 10:32:20,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 44 transitions. [2022-04-28 10:32:20,442 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-28 10:32:20,442 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 44 transitions. [2022-04-28 10:32:20,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 44 transitions. [2022-04-28 10:32:20,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:20,472 INFO L225 Difference]: With dead ends: 51 [2022-04-28 10:32:20,472 INFO L226 Difference]: Without dead ends: 42 [2022-04-28 10:32:20,472 INFO L412 NwaCegarLoop]: 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-28 10:32:20,473 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 21 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:20,473 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 113 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 10:32:20,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-28 10:32:20,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2022-04-28 10:32:20,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:20,521 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-28 10:32:20,521 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-28 10:32:20,521 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-28 10:32:20,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:20,523 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-28 10:32:20,523 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 10:32:20,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:20,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:20,523 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-28 10:32:20,523 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-28 10:32:20,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:20,524 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-28 10:32:20,524 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 10:32:20,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:20,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:20,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:20,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:20,525 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-28 10:32:20,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 46 transitions. [2022-04-28 10:32:20,525 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 46 transitions. Word has length 29 [2022-04-28 10:32:20,526 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:20,526 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 46 transitions. [2022-04-28 10:32:20,526 INFO L496 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-28 10:32:20,526 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 46 transitions. [2022-04-28 10:32:20,577 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:20,577 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 10:32:20,577 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 10:32:20,577 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:20,577 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:20,593 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:20,778 WARN L477 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-28 10:32:20,778 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:20,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:20,779 INFO L85 PathProgramCache]: Analyzing trace with hash 1589989783, now seen corresponding path program 1 times [2022-04-28 10:32:20,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:20,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1495519070] [2022-04-28 10:32:20,785 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:20,785 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:20,785 INFO L85 PathProgramCache]: Analyzing trace with hash 1589989783, now seen corresponding path program 2 times [2022-04-28 10:32:20,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:20,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [32271998] [2022-04-28 10:32:20,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:20,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:20,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:20,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,844 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-28 10:32:20,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-28 10:32:20,844 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1867#true} {1867#true} #93#return; {1867#true} is VALID [2022-04-28 10:32:20,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:20,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,870 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1867#true} is VALID [2022-04-28 10:32:20,870 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-28 10:32:20,871 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-28 10:32:20,871 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-28 10:32:20,871 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-28 10:32:20,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {1868#false} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {1868#false} is VALID [2022-04-28 10:32:20,872 INFO L290 TraceCheckUtils]: 6: Hoare triple {1868#false} #res := ~is_divisible~0; {1868#false} is VALID [2022-04-28 10:32:20,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {1868#false} assume true; {1868#false} is VALID [2022-04-28 10:32:20,872 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1868#false} {1867#true} #87#return; {1868#false} is VALID [2022-04-28 10:32:20,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-04-28 10:32:20,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {1867#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1867#true} is VALID [2022-04-28 10:32:20,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {1867#true} is VALID [2022-04-28 10:32:20,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume !!(~i~1 < ~w); {1867#true} is VALID [2022-04-28 10:32:20,877 INFO L290 TraceCheckUtils]: 3: Hoare triple {1867#true} ~i~1 := 2 + ~i~1; {1867#true} is VALID [2022-04-28 10:32:20,877 INFO L290 TraceCheckUtils]: 4: Hoare triple {1867#true} assume !(~i~1 < ~w); {1867#true} is VALID [2022-04-28 10:32:20,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {1867#true} assume !(~i~1 != ~w); {1867#true} is VALID [2022-04-28 10:32:20,877 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} #res := ~is_divisible~1; {1867#true} is VALID [2022-04-28 10:32:20,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-28 10:32:20,877 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {1867#true} {1868#false} #89#return; {1868#false} is VALID [2022-04-28 10:32:20,878 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-28 10:32:20,878 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-28 10:32:20,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-28 10:32:20,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1867#true} #93#return; {1867#true} is VALID [2022-04-28 10:32:20,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {1867#true} call #t~ret7 := main(); {1867#true} is VALID [2022-04-28 10:32:20,878 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-28 10:32:20,878 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1867#true} is VALID [2022-04-28 10:32:20,878 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-28 10:32:20,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {1867#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1867#true} is VALID [2022-04-28 10:32:20,879 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-28 10:32:20,879 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-28 10:32:20,879 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-28 10:32:20,880 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-28 10:32:20,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {1868#false} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {1868#false} is VALID [2022-04-28 10:32:20,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {1868#false} #res := ~is_divisible~0; {1868#false} is VALID [2022-04-28 10:32:20,880 INFO L290 TraceCheckUtils]: 15: Hoare triple {1868#false} assume true; {1868#false} is VALID [2022-04-28 10:32:20,880 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1868#false} {1867#true} #87#return; {1868#false} is VALID [2022-04-28 10:32:20,880 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-28 10:32:20,880 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-28 10:32:20,880 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1867#true} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {1867#true} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 21: Hoare triple {1867#true} assume !!(~i~1 < ~w); {1867#true} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 22: Hoare triple {1867#true} ~i~1 := 2 + ~i~1; {1867#true} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {1867#true} assume !(~i~1 < ~w); {1867#true} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 24: Hoare triple {1867#true} assume !(~i~1 != ~w); {1867#true} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {1867#true} #res := ~is_divisible~1; {1867#true} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-28 10:32:20,881 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1867#true} {1868#false} #89#return; {1868#false} is VALID [2022-04-28 10:32:20,881 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-28 10:32:20,881 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-28 10:32:20,881 INFO L290 TraceCheckUtils]: 30: Hoare triple {1868#false} ~cond := #in~cond; {1868#false} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 31: Hoare triple {1868#false} assume 0 == ~cond; {1868#false} is VALID [2022-04-28 10:32:20,881 INFO L290 TraceCheckUtils]: 32: Hoare triple {1868#false} assume !false; {1868#false} is VALID [2022-04-28 10:32:20,882 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-28 10:32:20,882 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:20,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [32271998] [2022-04-28 10:32:20,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [32271998] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:20,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [654504655] [2022-04-28 10:32:20,882 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:20,882 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:20,882 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:20,883 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:20,884 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 10:32:20,927 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:32:20,927 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:20,927 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 10:32:20,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:20,935 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:21,038 INFO L272 TraceCheckUtils]: 0: Hoare triple {1867#true} call ULTIMATE.init(); {1867#true} is VALID [2022-04-28 10:32:21,038 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-28 10:32:21,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-28 10:32:21,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1867#true} #93#return; {1867#true} is VALID [2022-04-28 10:32:21,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {1867#true} call #t~ret7 := main(); {1867#true} is VALID [2022-04-28 10:32:21,038 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-28 10:32:21,038 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1867#true} is VALID [2022-04-28 10:32:21,038 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-28 10:32:21,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {1867#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1867#true} is VALID [2022-04-28 10:32:21,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1867#true} is VALID [2022-04-28 10:32:21,039 INFO L290 TraceCheckUtils]: 10: Hoare triple {1867#true} assume !!(~i~0 < ~w); {1867#true} is VALID [2022-04-28 10:32:21,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {1867#true} ~i~0 := 2 + ~i~0; {1867#true} is VALID [2022-04-28 10:32:21,039 INFO L290 TraceCheckUtils]: 12: Hoare triple {1867#true} assume !(~i~0 < ~w); {1867#true} is VALID [2022-04-28 10:32:21,039 INFO L290 TraceCheckUtils]: 13: Hoare triple {1867#true} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {1867#true} is VALID [2022-04-28 10:32:21,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {1867#true} #res := ~is_divisible~0; {1867#true} is VALID [2022-04-28 10:32:21,039 INFO L290 TraceCheckUtils]: 15: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-28 10:32:21,039 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1867#true} {1867#true} #87#return; {1867#true} is VALID [2022-04-28 10:32:21,039 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-28 10:32:21,039 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-28 10:32:21,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1867#true} is VALID [2022-04-28 10:32:21,041 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-28 10:32:21,041 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-28 10:32:21,042 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-28 10:32:21,042 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-28 10:32:21,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {1868#false} assume !(~i~1 != ~w); {1868#false} is VALID [2022-04-28 10:32:21,042 INFO L290 TraceCheckUtils]: 25: Hoare triple {1868#false} #res := ~is_divisible~1; {1868#false} is VALID [2022-04-28 10:32:21,042 INFO L290 TraceCheckUtils]: 26: Hoare triple {1868#false} assume true; {1868#false} is VALID [2022-04-28 10:32:21,042 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1868#false} {1867#true} #89#return; {1868#false} is VALID [2022-04-28 10:32:21,042 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-28 10:32:21,042 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-28 10:32:21,042 INFO L290 TraceCheckUtils]: 30: Hoare triple {1868#false} ~cond := #in~cond; {1868#false} is VALID [2022-04-28 10:32:21,043 INFO L290 TraceCheckUtils]: 31: Hoare triple {1868#false} assume 0 == ~cond; {1868#false} is VALID [2022-04-28 10:32:21,043 INFO L290 TraceCheckUtils]: 32: Hoare triple {1868#false} assume !false; {1868#false} is VALID [2022-04-28 10:32:21,043 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-28 10:32:21,043 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:21,147 INFO L290 TraceCheckUtils]: 32: Hoare triple {1868#false} assume !false; {1868#false} is VALID [2022-04-28 10:32:21,147 INFO L290 TraceCheckUtils]: 31: Hoare triple {1868#false} assume 0 == ~cond; {1868#false} is VALID [2022-04-28 10:32:21,147 INFO L290 TraceCheckUtils]: 30: Hoare triple {1868#false} ~cond := #in~cond; {1868#false} is VALID [2022-04-28 10:32:21,147 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-28 10:32:21,147 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-28 10:32:21,147 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1868#false} {1867#true} #89#return; {1868#false} is VALID [2022-04-28 10:32:21,147 INFO L290 TraceCheckUtils]: 26: Hoare triple {1868#false} assume true; {1868#false} is VALID [2022-04-28 10:32:21,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {1868#false} #res := ~is_divisible~1; {1868#false} is VALID [2022-04-28 10:32:21,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {1868#false} assume !(~i~1 != ~w); {1868#false} is VALID [2022-04-28 10:32:21,148 INFO L290 TraceCheckUtils]: 23: Hoare triple {2024#(< student_version_~i~1 student_version_~w)} assume !(~i~1 < ~w); {1868#false} is VALID [2022-04-28 10:32:21,148 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-28 10:32:21,149 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-28 10:32:21,149 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-28 10:32:21,149 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#true} ~w := #in~w;~is_divisible~1 := ~true~0; {1867#true} is VALID [2022-04-28 10:32:21,149 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-28 10:32:21,150 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-28 10:32:21,150 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1867#true} {1867#true} #87#return; {1867#true} is VALID [2022-04-28 10:32:21,150 INFO L290 TraceCheckUtils]: 15: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-28 10:32:21,150 INFO L290 TraceCheckUtils]: 14: Hoare triple {1867#true} #res := ~is_divisible~0; {1867#true} is VALID [2022-04-28 10:32:21,150 INFO L290 TraceCheckUtils]: 13: Hoare triple {1867#true} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {1867#true} is VALID [2022-04-28 10:32:21,150 INFO L290 TraceCheckUtils]: 12: Hoare triple {1867#true} assume !(~i~0 < ~w); {1867#true} is VALID [2022-04-28 10:32:21,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {1867#true} ~i~0 := 2 + ~i~0; {1867#true} is VALID [2022-04-28 10:32:21,150 INFO L290 TraceCheckUtils]: 10: Hoare triple {1867#true} assume !!(~i~0 < ~w); {1867#true} is VALID [2022-04-28 10:32:21,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {1867#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {1867#true} is VALID [2022-04-28 10:32:21,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {1867#true} ~w := #in~w;~is_divisible~0 := ~true~0; {1867#true} is VALID [2022-04-28 10:32:21,150 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-28 10:32:21,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {1867#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {1867#true} is VALID [2022-04-28 10:32:21,150 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-28 10:32:21,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {1867#true} call #t~ret7 := main(); {1867#true} is VALID [2022-04-28 10:32:21,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1867#true} {1867#true} #93#return; {1867#true} is VALID [2022-04-28 10:32:21,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {1867#true} assume true; {1867#true} is VALID [2022-04-28 10:32:21,151 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-28 10:32:21,151 INFO L272 TraceCheckUtils]: 0: Hoare triple {1867#true} call ULTIMATE.init(); {1867#true} is VALID [2022-04-28 10:32:21,151 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-28 10:32:21,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [654504655] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:21,151 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:21,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 4] total 9 [2022-04-28 10:32:21,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:21,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1495519070] [2022-04-28 10:32:21,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1495519070] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:21,152 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:21,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:32:21,152 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [252636854] [2022-04-28 10:32:21,152 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:21,152 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-28 10:32:21,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:21,152 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-28 10:32:21,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:21,174 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:32:21,174 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:21,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:32:21,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:32:21,174 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-28 10:32:21,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:21,372 INFO L93 Difference]: Finished difference Result 74 states and 82 transitions. [2022-04-28 10:32:21,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:32:21,372 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-28 10:32:21,372 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:21,372 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-28 10:32:21,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 10:32:21,373 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-28 10:32:21,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-28 10:32:21,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-28 10:32:21,419 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:21,420 INFO L225 Difference]: With dead ends: 74 [2022-04-28 10:32:21,420 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 10:32:21,420 INFO L412 NwaCegarLoop]: 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-28 10:32:21,421 INFO L413 NwaCegarLoop]: 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-28 10:32:21,421 INFO L414 NwaCegarLoop]: 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-28 10:32:21,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 10:32:21,466 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 44. [2022-04-28 10:32:21,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:21,466 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-28 10:32:21,466 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-28 10:32:21,467 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-28 10:32:21,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:21,468 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-28 10:32:21,468 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-28 10:32:21,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:21,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:21,468 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-28 10:32:21,468 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-28 10:32:21,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:21,469 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2022-04-28 10:32:21,469 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2022-04-28 10:32:21,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:21,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:21,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:21,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:21,470 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-28 10:32:21,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 48 transitions. [2022-04-28 10:32:21,471 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 48 transitions. Word has length 33 [2022-04-28 10:32:21,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:21,471 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 48 transitions. [2022-04-28 10:32:21,471 INFO L496 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-28 10:32:21,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 48 transitions. [2022-04-28 10:32:21,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:21,513 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2022-04-28 10:32:21,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 10:32:21,514 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:21,514 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:21,530 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-28 10:32:21,727 WARN L477 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-28 10:32:21,727 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:21,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:21,728 INFO L85 PathProgramCache]: Analyzing trace with hash -1006640075, now seen corresponding path program 3 times [2022-04-28 10:32:21,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:21,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1973500533] [2022-04-28 10:32:21,730 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:21,730 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:21,730 INFO L85 PathProgramCache]: Analyzing trace with hash -1006640075, now seen corresponding path program 4 times [2022-04-28 10:32:21,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:21,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1085159035] [2022-04-28 10:32:21,730 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:21,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:21,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:21,757 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:21,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:21,784 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-28 10:32:21,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-28 10:32:21,785 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2424#true} {2424#true} #93#return; {2424#true} is VALID [2022-04-28 10:32:21,785 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:21,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:21,822 INFO L290 TraceCheckUtils]: 0: Hoare triple {2424#true} ~w := #in~w;~is_divisible~0 := ~true~0; {2424#true} is VALID [2022-04-28 10:32:21,823 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-28 10:32:21,823 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-28 10:32:21,823 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-28 10:32:21,827 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-28 10:32:21,827 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-28 10:32:21,827 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-28 10:32:21,828 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-28 10:32:21,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {2425#false} #res := ~is_divisible~0; {2425#false} is VALID [2022-04-28 10:32:21,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {2425#false} assume true; {2425#false} is VALID [2022-04-28 10:32:21,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2425#false} {2424#true} #87#return; {2425#false} is VALID [2022-04-28 10:32:21,828 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:32:21,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:21,837 INFO L290 TraceCheckUtils]: 0: Hoare triple {2424#true} ~w := #in~w;~is_divisible~1 := ~true~0; {2424#true} is VALID [2022-04-28 10:32:21,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {2424#true} is VALID [2022-04-28 10:32:21,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {2424#true} assume !!(~i~1 < ~w); {2424#true} is VALID [2022-04-28 10:32:21,837 INFO L290 TraceCheckUtils]: 3: Hoare triple {2424#true} ~i~1 := 2 + ~i~1; {2424#true} is VALID [2022-04-28 10:32:21,837 INFO L290 TraceCheckUtils]: 4: Hoare triple {2424#true} assume !(~i~1 < ~w); {2424#true} is VALID [2022-04-28 10:32:21,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {2424#true} assume !(~i~1 != ~w); {2424#true} is VALID [2022-04-28 10:32:21,838 INFO L290 TraceCheckUtils]: 6: Hoare triple {2424#true} #res := ~is_divisible~1; {2424#true} is VALID [2022-04-28 10:32:21,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-28 10:32:21,838 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2424#true} {2425#false} #89#return; {2425#false} is VALID [2022-04-28 10:32:21,838 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-28 10:32:21,838 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-28 10:32:21,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-28 10:32:21,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2424#true} {2424#true} #93#return; {2424#true} is VALID [2022-04-28 10:32:21,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {2424#true} call #t~ret7 := main(); {2424#true} is VALID [2022-04-28 10:32:21,839 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-28 10:32:21,839 INFO L290 TraceCheckUtils]: 6: Hoare triple {2424#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {2424#true} is VALID [2022-04-28 10:32:21,839 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-28 10:32:21,839 INFO L290 TraceCheckUtils]: 8: Hoare triple {2424#true} ~w := #in~w;~is_divisible~0 := ~true~0; {2424#true} is VALID [2022-04-28 10:32:21,839 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-28 10:32:21,841 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-28 10:32:21,841 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-28 10:32:21,842 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-28 10:32:21,842 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-28 10:32:21,842 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-28 10:32:21,843 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-28 10:32:21,844 INFO L290 TraceCheckUtils]: 16: Hoare triple {2425#false} #res := ~is_divisible~0; {2425#false} is VALID [2022-04-28 10:32:21,844 INFO L290 TraceCheckUtils]: 17: Hoare triple {2425#false} assume true; {2425#false} is VALID [2022-04-28 10:32:21,844 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2425#false} {2424#true} #87#return; {2425#false} is VALID [2022-04-28 10:32:21,844 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-28 10:32:21,844 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-28 10:32:21,844 INFO L290 TraceCheckUtils]: 21: Hoare triple {2424#true} ~w := #in~w;~is_divisible~1 := ~true~0; {2424#true} is VALID [2022-04-28 10:32:21,844 INFO L290 TraceCheckUtils]: 22: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {2424#true} is VALID [2022-04-28 10:32:21,844 INFO L290 TraceCheckUtils]: 23: Hoare triple {2424#true} assume !!(~i~1 < ~w); {2424#true} is VALID [2022-04-28 10:32:21,844 INFO L290 TraceCheckUtils]: 24: Hoare triple {2424#true} ~i~1 := 2 + ~i~1; {2424#true} is VALID [2022-04-28 10:32:21,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {2424#true} assume !(~i~1 < ~w); {2424#true} is VALID [2022-04-28 10:32:21,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {2424#true} assume !(~i~1 != ~w); {2424#true} is VALID [2022-04-28 10:32:21,844 INFO L290 TraceCheckUtils]: 27: Hoare triple {2424#true} #res := ~is_divisible~1; {2424#true} is VALID [2022-04-28 10:32:21,845 INFO L290 TraceCheckUtils]: 28: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-28 10:32:21,845 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2424#true} {2425#false} #89#return; {2425#false} is VALID [2022-04-28 10:32:21,845 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-28 10:32:21,845 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-28 10:32:21,845 INFO L290 TraceCheckUtils]: 32: Hoare triple {2425#false} ~cond := #in~cond; {2425#false} is VALID [2022-04-28 10:32:21,845 INFO L290 TraceCheckUtils]: 33: Hoare triple {2425#false} assume 0 == ~cond; {2425#false} is VALID [2022-04-28 10:32:21,845 INFO L290 TraceCheckUtils]: 34: Hoare triple {2425#false} assume !false; {2425#false} is VALID [2022-04-28 10:32:21,845 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-28 10:32:21,845 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:21,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1085159035] [2022-04-28 10:32:21,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1085159035] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:21,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [612246099] [2022-04-28 10:32:21,845 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:32:21,845 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:21,846 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:21,846 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:21,852 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 10:32:21,882 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:32:21,882 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:21,883 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 10:32:21,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:21,891 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:21,985 INFO L272 TraceCheckUtils]: 0: Hoare triple {2424#true} call ULTIMATE.init(); {2424#true} is VALID [2022-04-28 10:32:21,985 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-28 10:32:21,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2424#true} {2424#true} #93#return; {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L272 TraceCheckUtils]: 4: Hoare triple {2424#true} call #t~ret7 := main(); {2424#true} is VALID [2022-04-28 10:32:21,986 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-28 10:32:21,986 INFO L290 TraceCheckUtils]: 6: Hoare triple {2424#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {2424#true} is VALID [2022-04-28 10:32:21,986 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-28 10:32:21,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {2424#true} ~w := #in~w;~is_divisible~0 := ~true~0; {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 9: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 10: Hoare triple {2424#true} assume !!(~i~0 < ~w); {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 11: Hoare triple {2424#true} ~i~0 := 2 + ~i~0; {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 12: Hoare triple {2424#true} assume !!(~i~0 < ~w); {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 13: Hoare triple {2424#true} ~i~0 := 2 + ~i~0; {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 14: Hoare triple {2424#true} assume !(~i~0 < ~w); {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 15: Hoare triple {2424#true} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {2424#true} is VALID [2022-04-28 10:32:21,986 INFO L290 TraceCheckUtils]: 16: Hoare triple {2424#true} #res := ~is_divisible~0; {2424#true} is VALID [2022-04-28 10:32:21,987 INFO L290 TraceCheckUtils]: 17: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-28 10:32:21,987 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2424#true} {2424#true} #87#return; {2424#true} is VALID [2022-04-28 10:32:21,987 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-28 10:32:21,987 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-28 10:32:21,987 INFO L290 TraceCheckUtils]: 21: Hoare triple {2424#true} ~w := #in~w;~is_divisible~1 := ~true~0; {2424#true} is VALID [2022-04-28 10:32:21,990 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-28 10:32:21,991 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-28 10:32:21,991 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-28 10:32:21,992 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-28 10:32:21,992 INFO L290 TraceCheckUtils]: 26: Hoare triple {2425#false} assume !(~i~1 != ~w); {2425#false} is VALID [2022-04-28 10:32:21,992 INFO L290 TraceCheckUtils]: 27: Hoare triple {2425#false} #res := ~is_divisible~1; {2425#false} is VALID [2022-04-28 10:32:21,992 INFO L290 TraceCheckUtils]: 28: Hoare triple {2425#false} assume true; {2425#false} is VALID [2022-04-28 10:32:21,992 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2425#false} {2424#true} #89#return; {2425#false} is VALID [2022-04-28 10:32:21,992 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-28 10:32:21,992 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-28 10:32:21,992 INFO L290 TraceCheckUtils]: 32: Hoare triple {2425#false} ~cond := #in~cond; {2425#false} is VALID [2022-04-28 10:32:21,992 INFO L290 TraceCheckUtils]: 33: Hoare triple {2425#false} assume 0 == ~cond; {2425#false} is VALID [2022-04-28 10:32:21,992 INFO L290 TraceCheckUtils]: 34: Hoare triple {2425#false} assume !false; {2425#false} is VALID [2022-04-28 10:32:21,992 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-28 10:32:21,992 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:22,105 INFO L290 TraceCheckUtils]: 34: Hoare triple {2425#false} assume !false; {2425#false} is VALID [2022-04-28 10:32:22,105 INFO L290 TraceCheckUtils]: 33: Hoare triple {2425#false} assume 0 == ~cond; {2425#false} is VALID [2022-04-28 10:32:22,105 INFO L290 TraceCheckUtils]: 32: Hoare triple {2425#false} ~cond := #in~cond; {2425#false} is VALID [2022-04-28 10:32:22,105 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-28 10:32:22,105 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-28 10:32:22,105 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2425#false} {2424#true} #89#return; {2425#false} is VALID [2022-04-28 10:32:22,105 INFO L290 TraceCheckUtils]: 28: Hoare triple {2425#false} assume true; {2425#false} is VALID [2022-04-28 10:32:22,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {2425#false} #res := ~is_divisible~1; {2425#false} is VALID [2022-04-28 10:32:22,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {2425#false} assume !(~i~1 != ~w); {2425#false} is VALID [2022-04-28 10:32:22,106 INFO L290 TraceCheckUtils]: 25: Hoare triple {2591#(< student_version_~i~1 student_version_~w)} assume !(~i~1 < ~w); {2425#false} is VALID [2022-04-28 10:32:22,106 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-28 10:32:22,106 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-28 10:32:22,107 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-28 10:32:22,107 INFO L290 TraceCheckUtils]: 21: Hoare triple {2424#true} ~w := #in~w;~is_divisible~1 := ~true~0; {2424#true} is VALID [2022-04-28 10:32:22,107 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-28 10:32:22,107 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-28 10:32:22,107 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2424#true} {2424#true} #87#return; {2424#true} is VALID [2022-04-28 10:32:22,107 INFO L290 TraceCheckUtils]: 17: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-28 10:32:22,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {2424#true} #res := ~is_divisible~0; {2424#true} is VALID [2022-04-28 10:32:22,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {2424#true} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {2424#true} is VALID [2022-04-28 10:32:22,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {2424#true} assume !(~i~0 < ~w); {2424#true} is VALID [2022-04-28 10:32:22,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {2424#true} ~i~0 := 2 + ~i~0; {2424#true} is VALID [2022-04-28 10:32:22,113 INFO L290 TraceCheckUtils]: 12: Hoare triple {2424#true} assume !!(~i~0 < ~w); {2424#true} is VALID [2022-04-28 10:32:22,113 INFO L290 TraceCheckUtils]: 11: Hoare triple {2424#true} ~i~0 := 2 + ~i~0; {2424#true} is VALID [2022-04-28 10:32:22,113 INFO L290 TraceCheckUtils]: 10: Hoare triple {2424#true} assume !!(~i~0 < ~w); {2424#true} is VALID [2022-04-28 10:32:22,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {2424#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {2424#true} is VALID [2022-04-28 10:32:22,115 INFO L290 TraceCheckUtils]: 8: Hoare triple {2424#true} ~w := #in~w;~is_divisible~0 := ~true~0; {2424#true} is VALID [2022-04-28 10:32:22,115 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-28 10:32:22,116 INFO L290 TraceCheckUtils]: 6: Hoare triple {2424#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {2424#true} is VALID [2022-04-28 10:32:22,116 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-28 10:32:22,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {2424#true} call #t~ret7 := main(); {2424#true} is VALID [2022-04-28 10:32:22,117 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2424#true} {2424#true} #93#return; {2424#true} is VALID [2022-04-28 10:32:22,117 INFO L290 TraceCheckUtils]: 2: Hoare triple {2424#true} assume true; {2424#true} is VALID [2022-04-28 10:32:22,117 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-28 10:32:22,118 INFO L272 TraceCheckUtils]: 0: Hoare triple {2424#true} call ULTIMATE.init(); {2424#true} is VALID [2022-04-28 10:32:22,118 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-28 10:32:22,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [612246099] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:22,118 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:22,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 4, 4] total 11 [2022-04-28 10:32:22,118 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:22,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1973500533] [2022-04-28 10:32:22,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1973500533] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:22,118 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:22,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:32:22,118 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1580781017] [2022-04-28 10:32:22,119 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:22,119 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-28 10:32:22,121 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:22,121 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-28 10:32:22,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:22,141 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:32:22,141 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:22,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:32:22,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-28 10:32:22,142 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-28 10:32:22,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:22,430 INFO L93 Difference]: Finished difference Result 70 states and 76 transitions. [2022-04-28 10:32:22,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 10:32:22,430 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 35 [2022-04-28 10:32:22,430 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:22,430 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-28 10:32:22,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2022-04-28 10:32:22,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:22,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2022-04-28 10:32:22,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2022-04-28 10:32:22,487 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:22,488 INFO L225 Difference]: With dead ends: 70 [2022-04-28 10:32:22,488 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 10:32:22,489 INFO L412 NwaCegarLoop]: 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-28 10:32:22,489 INFO L413 NwaCegarLoop]: 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-28 10:32:22,489 INFO L414 NwaCegarLoop]: 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-28 10:32:22,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 10:32:22,543 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-28 10:32:22,543 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:22,543 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-28 10:32:22,543 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-28 10:32:22,543 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-28 10:32:22,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:22,544 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2022-04-28 10:32:22,544 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2022-04-28 10:32:22,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:22,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:22,545 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-28 10:32:22,545 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-28 10:32:22,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:22,546 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2022-04-28 10:32:22,546 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2022-04-28 10:32:22,546 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:22,546 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:22,546 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:22,546 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:22,546 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-28 10:32:22,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 52 transitions. [2022-04-28 10:32:22,547 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 52 transitions. Word has length 35 [2022-04-28 10:32:22,547 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:22,547 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 52 transitions. [2022-04-28 10:32:22,547 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:32:22,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 52 transitions. [2022-04-28 10:32:22,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:22,594 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2022-04-28 10:32:22,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 10:32:22,594 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:22,594 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:22,612 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:22,800 WARN L477 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-28 10:32:22,800 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:22,801 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:22,801 INFO L85 PathProgramCache]: Analyzing trace with hash 1790620401, now seen corresponding path program 1 times [2022-04-28 10:32:22,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:22,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [291149533] [2022-04-28 10:32:22,803 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:22,803 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:22,803 INFO L85 PathProgramCache]: Analyzing trace with hash 1790620401, now seen corresponding path program 2 times [2022-04-28 10:32:22,803 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:22,803 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [525110871] [2022-04-28 10:32:22,803 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:22,803 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:22,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:22,847 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:22,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:22,854 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-28 10:32:22,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-28 10:32:22,854 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3003#true} {3003#true} #93#return; {3003#true} is VALID [2022-04-28 10:32:22,854 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:22,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:22,868 INFO L290 TraceCheckUtils]: 0: Hoare triple {3003#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 3: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 4: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#true} assume !(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 7: Hoare triple {3003#true} assume !(~i~0 != ~w); {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#true} #res := ~is_divisible~0; {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-28 10:32:22,869 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3003#true} {3003#true} #87#return; {3003#true} is VALID [2022-04-28 10:32:22,870 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:32:22,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:22,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {3003#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3003#true} is VALID [2022-04-28 10:32:22,889 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-28 10:32:22,890 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-28 10:32:22,890 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-28 10:32:22,891 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-28 10:32:22,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {3004#false} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3004#false} is VALID [2022-04-28 10:32:22,891 INFO L290 TraceCheckUtils]: 6: Hoare triple {3004#false} #res := ~is_divisible~1; {3004#false} is VALID [2022-04-28 10:32:22,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#false} assume true; {3004#false} is VALID [2022-04-28 10:32:22,891 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {3004#false} {3003#true} #89#return; {3004#false} is VALID [2022-04-28 10:32:22,892 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-28 10:32:22,892 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-28 10:32:22,892 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-28 10:32:22,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#true} {3003#true} #93#return; {3003#true} is VALID [2022-04-28 10:32:22,892 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#true} call #t~ret7 := main(); {3003#true} is VALID [2022-04-28 10:32:22,892 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-28 10:32:22,892 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3003#true} is VALID [2022-04-28 10:32:22,892 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-28 10:32:22,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3003#true} is VALID [2022-04-28 10:32:22,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {3003#true} assume !(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {3003#true} assume !(~i~0 != ~w); {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L290 TraceCheckUtils]: 16: Hoare triple {3003#true} #res := ~is_divisible~0; {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L290 TraceCheckUtils]: 17: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-28 10:32:22,893 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3003#true} {3003#true} #87#return; {3003#true} is VALID [2022-04-28 10:32:22,893 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-28 10:32:22,893 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-28 10:32:22,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {3003#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3003#true} is VALID [2022-04-28 10:32:22,895 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-28 10:32:22,895 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-28 10:32:22,895 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-28 10:32:22,896 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-28 10:32:22,896 INFO L290 TraceCheckUtils]: 26: Hoare triple {3004#false} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3004#false} is VALID [2022-04-28 10:32:22,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#false} #res := ~is_divisible~1; {3004#false} is VALID [2022-04-28 10:32:22,896 INFO L290 TraceCheckUtils]: 28: Hoare triple {3004#false} assume true; {3004#false} is VALID [2022-04-28 10:32:22,896 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3004#false} {3003#true} #89#return; {3004#false} is VALID [2022-04-28 10:32:22,896 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-28 10:32:22,896 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-28 10:32:22,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {3004#false} ~cond := #in~cond; {3004#false} is VALID [2022-04-28 10:32:22,896 INFO L290 TraceCheckUtils]: 33: Hoare triple {3004#false} assume 0 == ~cond; {3004#false} is VALID [2022-04-28 10:32:22,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#false} assume !false; {3004#false} is VALID [2022-04-28 10:32:22,897 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-28 10:32:22,897 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:22,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [525110871] [2022-04-28 10:32:22,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [525110871] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:22,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [323456992] [2022-04-28 10:32:22,897 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:22,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:22,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:22,898 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:22,899 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 10:32:22,937 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:32:22,937 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:22,938 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 10:32:22,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:22,945 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:23,039 INFO L272 TraceCheckUtils]: 0: Hoare triple {3003#true} call ULTIMATE.init(); {3003#true} is VALID [2022-04-28 10:32:23,040 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-28 10:32:23,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#true} {3003#true} #93#return; {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#true} call #t~ret7 := main(); {3003#true} is VALID [2022-04-28 10:32:23,040 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-28 10:32:23,040 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3003#true} is VALID [2022-04-28 10:32:23,040 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-28 10:32:23,040 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L290 TraceCheckUtils]: 13: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L290 TraceCheckUtils]: 14: Hoare triple {3003#true} assume !(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L290 TraceCheckUtils]: 15: Hoare triple {3003#true} assume !(~i~0 != ~w); {3003#true} is VALID [2022-04-28 10:32:23,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {3003#true} #res := ~is_divisible~0; {3003#true} is VALID [2022-04-28 10:32:23,041 INFO L290 TraceCheckUtils]: 17: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-28 10:32:23,041 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3003#true} {3003#true} #87#return; {3003#true} is VALID [2022-04-28 10:32:23,041 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-28 10:32:23,041 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-28 10:32:23,041 INFO L290 TraceCheckUtils]: 21: Hoare triple {3003#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3003#true} is VALID [2022-04-28 10:32:23,041 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-28 10:32:23,042 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-28 10:32:23,042 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-28 10:32:23,043 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-28 10:32:23,043 INFO L290 TraceCheckUtils]: 26: Hoare triple {3004#false} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {3004#false} is VALID [2022-04-28 10:32:23,043 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#false} #res := ~is_divisible~1; {3004#false} is VALID [2022-04-28 10:32:23,043 INFO L290 TraceCheckUtils]: 28: Hoare triple {3004#false} assume true; {3004#false} is VALID [2022-04-28 10:32:23,043 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3004#false} {3003#true} #89#return; {3004#false} is VALID [2022-04-28 10:32:23,043 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-28 10:32:23,043 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-28 10:32:23,043 INFO L290 TraceCheckUtils]: 32: Hoare triple {3004#false} ~cond := #in~cond; {3004#false} is VALID [2022-04-28 10:32:23,043 INFO L290 TraceCheckUtils]: 33: Hoare triple {3004#false} assume 0 == ~cond; {3004#false} is VALID [2022-04-28 10:32:23,043 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#false} assume !false; {3004#false} is VALID [2022-04-28 10:32:23,043 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-28 10:32:23,043 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:23,204 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#false} assume !false; {3004#false} is VALID [2022-04-28 10:32:23,205 INFO L290 TraceCheckUtils]: 33: Hoare triple {3004#false} assume 0 == ~cond; {3004#false} is VALID [2022-04-28 10:32:23,205 INFO L290 TraceCheckUtils]: 32: Hoare triple {3004#false} ~cond := #in~cond; {3004#false} is VALID [2022-04-28 10:32:23,205 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-28 10:32:23,205 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-28 10:32:23,205 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3004#false} {3003#true} #89#return; {3004#false} is VALID [2022-04-28 10:32:23,205 INFO L290 TraceCheckUtils]: 28: Hoare triple {3004#false} assume true; {3004#false} is VALID [2022-04-28 10:32:23,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#false} #res := ~is_divisible~1; {3004#false} is VALID [2022-04-28 10:32:23,205 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-28 10:32:23,206 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-28 10:32:23,206 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-28 10:32:23,206 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-28 10:32:23,207 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-28 10:32:23,207 INFO L290 TraceCheckUtils]: 21: Hoare triple {3003#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3003#true} is VALID [2022-04-28 10:32:23,207 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-28 10:32:23,207 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-28 10:32:23,207 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3003#true} {3003#true} #87#return; {3003#true} is VALID [2022-04-28 10:32:23,207 INFO L290 TraceCheckUtils]: 17: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-28 10:32:23,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {3003#true} #res := ~is_divisible~0; {3003#true} is VALID [2022-04-28 10:32:23,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {3003#true} assume !(~i~0 != ~w); {3003#true} is VALID [2022-04-28 10:32:23,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {3003#true} assume !(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:23,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-28 10:32:23,207 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:23,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#true} ~i~0 := 2 + ~i~0; {3003#true} is VALID [2022-04-28 10:32:23,208 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#true} assume !!(~i~0 < ~w); {3003#true} is VALID [2022-04-28 10:32:23,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3003#true} is VALID [2022-04-28 10:32:23,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3003#true} is VALID [2022-04-28 10:32:23,208 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-28 10:32:23,208 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3003#true} is VALID [2022-04-28 10:32:23,208 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-28 10:32:23,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#true} call #t~ret7 := main(); {3003#true} is VALID [2022-04-28 10:32:23,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#true} {3003#true} #93#return; {3003#true} is VALID [2022-04-28 10:32:23,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#true} assume true; {3003#true} is VALID [2022-04-28 10:32:23,208 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-28 10:32:23,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {3003#true} call ULTIMATE.init(); {3003#true} is VALID [2022-04-28 10:32:23,208 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-28 10:32:23,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [323456992] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:23,208 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:23,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 5] total 9 [2022-04-28 10:32:23,209 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:23,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [291149533] [2022-04-28 10:32:23,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [291149533] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:23,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:23,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 10:32:23,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [623341767] [2022-04-28 10:32:23,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:23,209 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-28 10:32:23,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:23,210 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-28 10:32:23,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:23,227 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 10:32:23,228 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:23,228 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 10:32:23,228 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-28 10:32:23,228 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-28 10:32:23,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:23,388 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2022-04-28 10:32:23,388 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:32:23,388 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-28 10:32:23,388 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:23,388 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-28 10:32:23,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 50 transitions. [2022-04-28 10:32:23,389 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-28 10:32:23,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 50 transitions. [2022-04-28 10:32:23,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 50 transitions. [2022-04-28 10:32:23,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:23,430 INFO L225 Difference]: With dead ends: 63 [2022-04-28 10:32:23,430 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 10:32:23,431 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-04-28 10:32:23,431 INFO L413 NwaCegarLoop]: 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-28 10:32:23,431 INFO L414 NwaCegarLoop]: 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-28 10:32:23,432 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 10:32:23,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-28 10:32:23,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:23,497 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-28 10:32:23,497 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-28 10:32:23,498 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-28 10:32:23,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:23,499 INFO L93 Difference]: Finished difference Result 50 states and 55 transitions. [2022-04-28 10:32:23,499 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 10:32:23,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:23,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:23,499 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-28 10:32:23,499 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-28 10:32:23,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:23,500 INFO L93 Difference]: Finished difference Result 50 states and 55 transitions. [2022-04-28 10:32:23,500 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 10:32:23,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:23,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:23,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:23,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:23,501 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-28 10:32:23,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 54 transitions. [2022-04-28 10:32:23,502 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 54 transitions. Word has length 35 [2022-04-28 10:32:23,502 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:23,502 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 54 transitions. [2022-04-28 10:32:23,502 INFO L496 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-28 10:32:23,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 54 transitions. [2022-04-28 10:32:23,582 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-28 10:32:23,583 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-28 10:32:23,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 10:32:23,583 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:23,583 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:23,602 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-28 10:32:23,799 WARN L477 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-28 10:32:23,800 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:23,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:23,800 INFO L85 PathProgramCache]: Analyzing trace with hash 1072065907, now seen corresponding path program 3 times [2022-04-28 10:32:23,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:23,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [194618856] [2022-04-28 10:32:23,804 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:23,804 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:23,804 INFO L85 PathProgramCache]: Analyzing trace with hash 1072065907, now seen corresponding path program 4 times [2022-04-28 10:32:23,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:23,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [59091423] [2022-04-28 10:32:23,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:23,805 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:23,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:23,837 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:23,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:23,842 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-28 10:32:23,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-28 10:32:23,842 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3572#true} {3572#true} #93#return; {3572#true} is VALID [2022-04-28 10:32:23,842 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:23,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:23,847 INFO L290 TraceCheckUtils]: 0: Hoare triple {3572#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3572#true} is VALID [2022-04-28 10:32:23,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3572#true} is VALID [2022-04-28 10:32:23,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:23,847 INFO L290 TraceCheckUtils]: 3: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-28 10:32:23,847 INFO L290 TraceCheckUtils]: 4: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:23,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-28 10:32:23,847 INFO L290 TraceCheckUtils]: 6: Hoare triple {3572#true} assume !(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:23,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {3572#true} assume !(~i~0 != ~w); {3572#true} is VALID [2022-04-28 10:32:23,848 INFO L290 TraceCheckUtils]: 8: Hoare triple {3572#true} #res := ~is_divisible~0; {3572#true} is VALID [2022-04-28 10:32:23,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-28 10:32:23,848 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3572#true} {3572#true} #87#return; {3572#true} is VALID [2022-04-28 10:32:23,848 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:32:23,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:23,888 INFO L290 TraceCheckUtils]: 0: Hoare triple {3572#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3572#true} is VALID [2022-04-28 10:32:23,890 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-28 10:32:23,891 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-28 10:32:23,891 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-28 10:32:23,892 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-28 10:32:23,892 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-28 10:32:23,892 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-28 10:32:23,893 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-28 10:32:23,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {3573#false} #res := ~is_divisible~1; {3573#false} is VALID [2022-04-28 10:32:23,893 INFO L290 TraceCheckUtils]: 9: Hoare triple {3573#false} assume true; {3573#false} is VALID [2022-04-28 10:32:23,893 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3573#false} {3572#true} #89#return; {3573#false} is VALID [2022-04-28 10:32:23,894 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-28 10:32:23,894 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-28 10:32:23,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-28 10:32:23,894 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3572#true} {3572#true} #93#return; {3572#true} is VALID [2022-04-28 10:32:23,894 INFO L272 TraceCheckUtils]: 4: Hoare triple {3572#true} call #t~ret7 := main(); {3572#true} is VALID [2022-04-28 10:32:23,894 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-28 10:32:23,894 INFO L290 TraceCheckUtils]: 6: Hoare triple {3572#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3572#true} is VALID [2022-04-28 10:32:23,894 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-28 10:32:23,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {3572#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 9: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 10: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 11: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 12: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 13: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {3572#true} assume !(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 15: Hoare triple {3572#true} assume !(~i~0 != ~w); {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 16: Hoare triple {3572#true} #res := ~is_divisible~0; {3572#true} is VALID [2022-04-28 10:32:23,895 INFO L290 TraceCheckUtils]: 17: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-28 10:32:23,896 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3572#true} {3572#true} #87#return; {3572#true} is VALID [2022-04-28 10:32:23,896 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-28 10:32:23,896 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-28 10:32:23,896 INFO L290 TraceCheckUtils]: 21: Hoare triple {3572#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3572#true} is VALID [2022-04-28 10:32:23,896 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-28 10:32:23,896 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-28 10:32:23,897 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-28 10:32:23,897 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-28 10:32:23,898 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-28 10:32:23,898 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-28 10:32:23,899 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-28 10:32:23,899 INFO L290 TraceCheckUtils]: 29: Hoare triple {3573#false} #res := ~is_divisible~1; {3573#false} is VALID [2022-04-28 10:32:23,899 INFO L290 TraceCheckUtils]: 30: Hoare triple {3573#false} assume true; {3573#false} is VALID [2022-04-28 10:32:23,899 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3573#false} {3572#true} #89#return; {3573#false} is VALID [2022-04-28 10:32:23,899 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-28 10:32:23,899 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-28 10:32:23,899 INFO L290 TraceCheckUtils]: 34: Hoare triple {3573#false} ~cond := #in~cond; {3573#false} is VALID [2022-04-28 10:32:23,899 INFO L290 TraceCheckUtils]: 35: Hoare triple {3573#false} assume 0 == ~cond; {3573#false} is VALID [2022-04-28 10:32:23,900 INFO L290 TraceCheckUtils]: 36: Hoare triple {3573#false} assume !false; {3573#false} is VALID [2022-04-28 10:32:23,900 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:23,900 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:23,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [59091423] [2022-04-28 10:32:23,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [59091423] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:23,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1770487324] [2022-04-28 10:32:23,900 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:32:23,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:23,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:23,902 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:23,902 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 10:32:23,941 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:32:23,941 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:23,941 INFO L263 TraceCheckSpWp]: Trace formula consists of 82 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 10:32:23,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:23,958 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:24,256 INFO L272 TraceCheckUtils]: 0: Hoare triple {3572#true} call ULTIMATE.init(); {3572#true} is VALID [2022-04-28 10:32:24,256 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-28 10:32:24,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3572#true} {3572#true} #93#return; {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L272 TraceCheckUtils]: 4: Hoare triple {3572#true} call #t~ret7 := main(); {3572#true} is VALID [2022-04-28 10:32:24,257 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-28 10:32:24,257 INFO L290 TraceCheckUtils]: 6: Hoare triple {3572#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3572#true} is VALID [2022-04-28 10:32:24,257 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-28 10:32:24,257 INFO L290 TraceCheckUtils]: 8: Hoare triple {3572#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L290 TraceCheckUtils]: 10: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L290 TraceCheckUtils]: 11: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L290 TraceCheckUtils]: 12: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L290 TraceCheckUtils]: 13: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L290 TraceCheckUtils]: 14: Hoare triple {3572#true} assume !(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:24,257 INFO L290 TraceCheckUtils]: 15: Hoare triple {3572#true} assume !(~i~0 != ~w); {3572#true} is VALID [2022-04-28 10:32:24,258 INFO L290 TraceCheckUtils]: 16: Hoare triple {3572#true} #res := ~is_divisible~0; {3572#true} is VALID [2022-04-28 10:32:24,258 INFO L290 TraceCheckUtils]: 17: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-28 10:32:24,258 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3572#true} {3572#true} #87#return; {3572#true} is VALID [2022-04-28 10:32:24,258 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-28 10:32:24,258 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-28 10:32:24,258 INFO L290 TraceCheckUtils]: 21: Hoare triple {3572#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3572#true} is VALID [2022-04-28 10:32:24,268 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-28 10:32:24,269 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-28 10:32:24,269 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-28 10:32:24,270 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-28 10:32:24,270 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-28 10:32:24,270 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-28 10:32:24,271 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-28 10:32:24,271 INFO L290 TraceCheckUtils]: 29: Hoare triple {3573#false} #res := ~is_divisible~1; {3573#false} is VALID [2022-04-28 10:32:24,271 INFO L290 TraceCheckUtils]: 30: Hoare triple {3573#false} assume true; {3573#false} is VALID [2022-04-28 10:32:24,271 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3573#false} {3572#true} #89#return; {3573#false} is VALID [2022-04-28 10:32:24,271 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-28 10:32:24,271 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-28 10:32:24,271 INFO L290 TraceCheckUtils]: 34: Hoare triple {3573#false} ~cond := #in~cond; {3573#false} is VALID [2022-04-28 10:32:24,271 INFO L290 TraceCheckUtils]: 35: Hoare triple {3573#false} assume 0 == ~cond; {3573#false} is VALID [2022-04-28 10:32:24,271 INFO L290 TraceCheckUtils]: 36: Hoare triple {3573#false} assume !false; {3573#false} is VALID [2022-04-28 10:32:24,271 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:24,271 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:24,398 INFO L290 TraceCheckUtils]: 36: Hoare triple {3573#false} assume !false; {3573#false} is VALID [2022-04-28 10:32:24,399 INFO L290 TraceCheckUtils]: 35: Hoare triple {3573#false} assume 0 == ~cond; {3573#false} is VALID [2022-04-28 10:32:24,399 INFO L290 TraceCheckUtils]: 34: Hoare triple {3573#false} ~cond := #in~cond; {3573#false} is VALID [2022-04-28 10:32:24,399 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-28 10:32:24,399 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-28 10:32:24,399 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3573#false} {3572#true} #89#return; {3573#false} is VALID [2022-04-28 10:32:24,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {3573#false} assume true; {3573#false} is VALID [2022-04-28 10:32:24,399 INFO L290 TraceCheckUtils]: 29: Hoare triple {3573#false} #res := ~is_divisible~1; {3573#false} is VALID [2022-04-28 10:32:24,400 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-28 10:32:24,400 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-28 10:32:24,400 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-28 10:32:24,401 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-28 10:32:24,401 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-28 10:32:24,401 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-28 10:32:24,402 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-28 10:32:24,402 INFO L290 TraceCheckUtils]: 21: Hoare triple {3572#true} ~w := #in~w;~is_divisible~1 := ~true~0; {3572#true} is VALID [2022-04-28 10:32:24,402 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-28 10:32:24,402 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-28 10:32:24,402 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3572#true} {3572#true} #87#return; {3572#true} is VALID [2022-04-28 10:32:24,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-28 10:32:24,402 INFO L290 TraceCheckUtils]: 16: Hoare triple {3572#true} #res := ~is_divisible~0; {3572#true} is VALID [2022-04-28 10:32:24,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {3572#true} assume !(~i~0 != ~w); {3572#true} is VALID [2022-04-28 10:32:24,402 INFO L290 TraceCheckUtils]: 14: Hoare triple {3572#true} assume !(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:24,402 INFO L290 TraceCheckUtils]: 13: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-28 10:32:24,402 INFO L290 TraceCheckUtils]: 12: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:24,402 INFO L290 TraceCheckUtils]: 11: Hoare triple {3572#true} ~i~0 := 2 + ~i~0; {3572#true} is VALID [2022-04-28 10:32:24,402 INFO L290 TraceCheckUtils]: 10: Hoare triple {3572#true} assume !!(~i~0 < ~w); {3572#true} is VALID [2022-04-28 10:32:24,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {3572#true} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {3572#true} is VALID [2022-04-28 10:32:24,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {3572#true} ~w := #in~w;~is_divisible~0 := ~true~0; {3572#true} is VALID [2022-04-28 10:32:24,403 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-28 10:32:24,403 INFO L290 TraceCheckUtils]: 6: Hoare triple {3572#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {3572#true} is VALID [2022-04-28 10:32:24,403 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-28 10:32:24,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {3572#true} call #t~ret7 := main(); {3572#true} is VALID [2022-04-28 10:32:24,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3572#true} {3572#true} #93#return; {3572#true} is VALID [2022-04-28 10:32:24,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {3572#true} assume true; {3572#true} is VALID [2022-04-28 10:32:24,403 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-28 10:32:24,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {3572#true} call ULTIMATE.init(); {3572#true} is VALID [2022-04-28 10:32:24,403 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 10:32:24,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1770487324] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:24,403 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:24,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 11 [2022-04-28 10:32:24,404 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:24,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [194618856] [2022-04-28 10:32:24,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [194618856] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:24,404 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:24,404 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 10:32:24,404 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [386888354] [2022-04-28 10:32:24,404 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:24,404 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-28 10:32:24,404 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:24,404 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-28 10:32:24,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:24,429 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 10:32:24,429 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:24,429 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 10:32:24,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2022-04-28 10:32:24,430 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-28 10:32:24,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:24,702 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 10:32:24,702 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 10:32:24,702 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-28 10:32:24,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:24,703 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-28 10:32:24,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2022-04-28 10:32:24,709 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-28 10:32:24,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2022-04-28 10:32:24,711 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 54 transitions. [2022-04-28 10:32:24,762 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-28 10:32:24,765 INFO L225 Difference]: With dead ends: 61 [2022-04-28 10:32:24,765 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 10:32:24,765 INFO L412 NwaCegarLoop]: 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-28 10:32:24,767 INFO L413 NwaCegarLoop]: 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-28 10:32:24,767 INFO L414 NwaCegarLoop]: 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-28 10:32:24,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 10:32:24,851 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-28 10:32:24,851 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:24,851 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-28 10:32:24,851 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-28 10:32:24,852 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-28 10:32:24,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:24,853 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 10:32:24,853 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 10:32:24,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:24,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:24,853 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-28 10:32:24,853 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-28 10:32:24,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:24,854 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 10:32:24,854 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 10:32:24,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:24,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:24,854 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:24,854 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:24,854 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-28 10:32:24,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 58 transitions. [2022-04-28 10:32:24,855 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 58 transitions. Word has length 37 [2022-04-28 10:32:24,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:24,855 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 58 transitions. [2022-04-28 10:32:24,855 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 10:32:24,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 58 transitions. [2022-04-28 10:32:24,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:24,911 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 10:32:24,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 10:32:24,912 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:24,912 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:24,932 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:25,112 WARN L477 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-28 10:32:25,113 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:25,113 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:25,113 INFO L85 PathProgramCache]: Analyzing trace with hash 1752124277, now seen corresponding path program 1 times [2022-04-28 10:32:25,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:25,113 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2140545932] [2022-04-28 10:32:25,115 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:25,115 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:25,115 INFO L85 PathProgramCache]: Analyzing trace with hash 1752124277, now seen corresponding path program 2 times [2022-04-28 10:32:25,115 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:25,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166598186] [2022-04-28 10:32:25,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:25,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:25,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:25,165 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:25,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:25,174 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-28 10:32:25,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {4167#true} assume true; {4167#true} is VALID [2022-04-28 10:32:25,175 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4167#true} {4167#true} #93#return; {4167#true} is VALID [2022-04-28 10:32:25,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:25,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:25,193 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-28 10:32:25,193 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-28 10:32:25,193 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-28 10:32:25,194 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-28 10:32:25,194 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-28 10:32:25,194 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-28 10:32:25,194 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-28 10:32:25,195 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-28 10:32:25,195 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-28 10:32:25,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {4202#(= |correct_version_#res| ~true~0)} assume true; {4202#(= |correct_version_#res| ~true~0)} is VALID [2022-04-28 10:32:25,196 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-28 10:32:25,196 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:32:25,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:25,224 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-28 10:32:25,225 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-28 10:32:25,225 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-28 10:32:25,225 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-28 10:32:25,225 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-28 10:32:25,226 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-28 10:32:25,226 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-28 10:32:25,226 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-28 10:32:25,226 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-28 10:32:25,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {4204#(= ~true~0 |student_version_#res|)} assume true; {4204#(= ~true~0 |student_version_#res|)} is VALID [2022-04-28 10:32:25,227 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-28 10:32:25,228 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-28 10:32:25,228 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-28 10:32:25,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {4167#true} assume true; {4167#true} is VALID [2022-04-28 10:32:25,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4167#true} {4167#true} #93#return; {4167#true} is VALID [2022-04-28 10:32:25,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {4167#true} call #t~ret7 := main(); {4167#true} is VALID [2022-04-28 10:32:25,228 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-28 10:32:25,228 INFO L290 TraceCheckUtils]: 6: Hoare triple {4167#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {4167#true} is VALID [2022-04-28 10:32:25,228 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-28 10:32:25,229 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-28 10:32:25,229 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-28 10:32:25,229 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-28 10:32:25,229 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-28 10:32:25,230 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-28 10:32:25,230 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-28 10:32:25,235 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-28 10:32:25,235 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-28 10:32:25,236 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-28 10:32:25,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {4202#(= |correct_version_#res| ~true~0)} assume true; {4202#(= |correct_version_#res| ~true~0)} is VALID [2022-04-28 10:32:25,237 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-28 10:32:25,237 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-28 10:32:25,237 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-28 10:32:25,238 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-28 10:32:25,238 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-28 10:32:25,238 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-28 10:32:25,239 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-28 10:32:25,239 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-28 10:32:25,239 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-28 10:32:25,240 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-28 10:32:25,240 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-28 10:32:25,240 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-28 10:32:25,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {4204#(= ~true~0 |student_version_#res|)} assume true; {4204#(= ~true~0 |student_version_#res|)} is VALID [2022-04-28 10:32:25,241 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-28 10:32:25,242 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-28 10:32:25,242 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-28 10:32:25,243 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-28 10:32:25,259 INFO L290 TraceCheckUtils]: 35: Hoare triple {4199#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4168#false} is VALID [2022-04-28 10:32:25,259 INFO L290 TraceCheckUtils]: 36: Hoare triple {4168#false} assume !false; {4168#false} is VALID [2022-04-28 10:32:25,260 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-28 10:32:25,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:25,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [166598186] [2022-04-28 10:32:25,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [166598186] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:25,260 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:25,260 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:32:25,260 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:25,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2140545932] [2022-04-28 10:32:25,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2140545932] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:25,260 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:25,260 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 10:32:25,260 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1759151523] [2022-04-28 10:32:25,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:25,261 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-28 10:32:25,261 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:25,261 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-28 10:32:25,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:25,284 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 10:32:25,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:25,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 10:32:25,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=133, Unknown=0, NotChecked=0, Total=156 [2022-04-28 10:32:25,284 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-28 10:32:25,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:25,947 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-04-28 10:32:25,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:32:25,947 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-28 10:32:25,947 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:25,947 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-28 10:32:25,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 51 transitions. [2022-04-28 10:32:25,948 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-28 10:32:25,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 51 transitions. [2022-04-28 10:32:25,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 51 transitions. [2022-04-28 10:32:25,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:25,998 INFO L225 Difference]: With dead ends: 60 [2022-04-28 10:32:25,998 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 10:32:25,998 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=79, Invalid=427, Unknown=0, NotChecked=0, Total=506 [2022-04-28 10:32:25,998 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 37 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 310 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:25,999 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 69 Invalid, 337 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 310 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:32:25,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 10:32:26,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 52. [2022-04-28 10:32:26,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:26,060 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-28 10:32:26,060 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-28 10:32:26,060 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-28 10:32:26,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:26,061 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2022-04-28 10:32:26,061 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 59 transitions. [2022-04-28 10:32:26,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:26,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:26,062 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-28 10:32:26,062 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-28 10:32:26,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:26,065 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2022-04-28 10:32:26,065 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 59 transitions. [2022-04-28 10:32:26,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:26,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:26,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:26,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:26,065 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-28 10:32:26,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 57 transitions. [2022-04-28 10:32:26,066 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 57 transitions. Word has length 37 [2022-04-28 10:32:26,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:26,066 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 57 transitions. [2022-04-28 10:32:26,066 INFO L496 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-28 10:32:26,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 57 transitions. [2022-04-28 10:32:26,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:26,129 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2022-04-28 10:32:26,129 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 10:32:26,129 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:26,129 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:26,130 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-28 10:32:26,130 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:26,130 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:26,130 INFO L85 PathProgramCache]: Analyzing trace with hash 2030931829, now seen corresponding path program 5 times [2022-04-28 10:32:26,130 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:26,130 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1797539708] [2022-04-28 10:32:26,132 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:26,132 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:26,132 INFO L85 PathProgramCache]: Analyzing trace with hash 2030931829, now seen corresponding path program 6 times [2022-04-28 10:32:26,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:26,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160118583] [2022-04-28 10:32:26,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:26,132 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:26,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:26,177 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:26,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:26,181 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-28 10:32:26,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {4560#true} assume true; {4560#true} is VALID [2022-04-28 10:32:26,181 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4560#true} {4560#true} #93#return; {4560#true} is VALID [2022-04-28 10:32:26,181 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:26,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:26,237 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-28 10:32:26,238 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-28 10:32:26,238 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-28 10:32:26,238 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-28 10:32:26,239 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-28 10:32:26,239 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-28 10:32:26,240 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-28 10:32:26,240 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-28 10:32:26,240 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-28 10:32:26,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume true; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-28 10:32:26,241 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-28 10:32:26,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-04-28 10:32:26,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:26,321 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-28 10:32:26,322 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-28 10:32:26,322 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-28 10:32:26,323 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-28 10:32:26,323 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-28 10:32:26,323 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-28 10:32:26,324 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-28 10:32:26,324 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-28 10:32:26,325 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-28 10:32:26,325 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-28 10:32:26,325 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-28 10:32:26,325 INFO L290 TraceCheckUtils]: 11: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume true; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-28 10:32:26,326 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-28 10:32:26,327 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-28 10:32:26,327 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-28 10:32:26,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {4560#true} assume true; {4560#true} is VALID [2022-04-28 10:32:26,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4560#true} {4560#true} #93#return; {4560#true} is VALID [2022-04-28 10:32:26,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {4560#true} call #t~ret7 := main(); {4560#true} is VALID [2022-04-28 10:32:26,329 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-28 10:32:26,329 INFO L290 TraceCheckUtils]: 6: Hoare triple {4560#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {4560#true} is VALID [2022-04-28 10:32:26,329 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-28 10:32:26,330 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-28 10:32:26,330 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-28 10:32:26,330 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-28 10:32:26,331 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-28 10:32:26,331 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-28 10:32:26,331 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-28 10:32:26,332 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-28 10:32:26,332 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-28 10:32:26,332 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-28 10:32:26,333 INFO L290 TraceCheckUtils]: 17: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume true; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-28 10:32:26,334 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-28 10:32:26,334 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-28 10:32:26,334 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-28 10:32:26,334 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-28 10:32:26,335 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-28 10:32:26,335 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-28 10:32:26,336 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-28 10:32:26,336 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-28 10:32:26,336 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-28 10:32:26,337 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-28 10:32:26,337 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-28 10:32:26,337 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-28 10:32:26,338 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-28 10:32:26,338 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-28 10:32:26,338 INFO L290 TraceCheckUtils]: 32: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume true; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-28 10:32:26,339 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-28 10:32:26,340 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-28 10:32:26,340 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-28 10:32:26,340 INFO L290 TraceCheckUtils]: 36: Hoare triple {4561#false} ~cond := #in~cond; {4561#false} is VALID [2022-04-28 10:32:26,340 INFO L290 TraceCheckUtils]: 37: Hoare triple {4561#false} assume 0 == ~cond; {4561#false} is VALID [2022-04-28 10:32:26,340 INFO L290 TraceCheckUtils]: 38: Hoare triple {4561#false} assume !false; {4561#false} is VALID [2022-04-28 10:32:26,340 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-28 10:32:26,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:26,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160118583] [2022-04-28 10:32:26,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1160118583] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:26,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [860511613] [2022-04-28 10:32:26,341 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:32:26,341 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:26,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:26,342 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:26,343 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 10:32:26,381 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 10:32:26,381 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:26,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 10:32:26,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:26,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:26,883 INFO L272 TraceCheckUtils]: 0: Hoare triple {4560#true} call ULTIMATE.init(); {4560#true} is VALID [2022-04-28 10:32:26,884 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-28 10:32:26,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {4560#true} assume true; {4560#true} is VALID [2022-04-28 10:32:26,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4560#true} {4560#true} #93#return; {4560#true} is VALID [2022-04-28 10:32:26,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {4560#true} call #t~ret7 := main(); {4560#true} is VALID [2022-04-28 10:32:26,884 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-28 10:32:26,884 INFO L290 TraceCheckUtils]: 6: Hoare triple {4560#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {4560#true} is VALID [2022-04-28 10:32:26,884 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-28 10:32:26,884 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-28 10:32:26,885 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-28 10:32:26,885 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-28 10:32:26,886 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-28 10:32:26,886 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-28 10:32:26,886 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-28 10:32:26,887 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-28 10:32:26,887 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-28 10:32:26,887 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-28 10:32:26,888 INFO L290 TraceCheckUtils]: 17: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume true; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-28 10:32:26,888 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-28 10:32:26,889 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-28 10:32:26,889 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-28 10:32:26,889 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-28 10:32:26,890 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-28 10:32:26,890 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-28 10:32:26,890 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-28 10:32:26,891 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-28 10:32:26,891 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-28 10:32:26,892 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-28 10:32:26,892 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-28 10:32:26,892 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-28 10:32:26,892 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-28 10:32:26,893 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-28 10:32:26,893 INFO L290 TraceCheckUtils]: 32: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume true; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-28 10:32:26,894 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-28 10:32:26,894 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-28 10:32:26,894 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-28 10:32:26,894 INFO L290 TraceCheckUtils]: 36: Hoare triple {4561#false} ~cond := #in~cond; {4561#false} is VALID [2022-04-28 10:32:26,894 INFO L290 TraceCheckUtils]: 37: Hoare triple {4561#false} assume 0 == ~cond; {4561#false} is VALID [2022-04-28 10:32:26,894 INFO L290 TraceCheckUtils]: 38: Hoare triple {4561#false} assume !false; {4561#false} is VALID [2022-04-28 10:32:26,894 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-28 10:32:26,894 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:30,332 INFO L290 TraceCheckUtils]: 38: Hoare triple {4561#false} assume !false; {4561#false} is VALID [2022-04-28 10:32:30,332 INFO L290 TraceCheckUtils]: 37: Hoare triple {4561#false} assume 0 == ~cond; {4561#false} is VALID [2022-04-28 10:32:30,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {4561#false} ~cond := #in~cond; {4561#false} is VALID [2022-04-28 10:32:30,333 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-28 10:32:30,333 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-28 10:32:30,334 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-28 10:32:30,334 INFO L290 TraceCheckUtils]: 32: Hoare triple {4602#(<= 5 |student_version_#in~w|)} assume true; {4602#(<= 5 |student_version_#in~w|)} is VALID [2022-04-28 10:32:30,334 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-28 10:32:30,334 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-28 10:32:30,335 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-28 10:32:30,335 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-28 10:32:30,335 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-28 10:32:30,336 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-28 10:32:30,339 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-28 10:32:30,340 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-28 10:32:30,340 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-28 10:32:30,341 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-28 10:32:30,341 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-28 10:32:30,341 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-28 10:32:30,341 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-28 10:32:30,342 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-28 10:32:30,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {4596#(<= |correct_version_#in~w| 4)} assume true; {4596#(<= |correct_version_#in~w| 4)} is VALID [2022-04-28 10:32:30,343 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-28 10:32:30,343 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-28 10:32:30,343 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-28 10:32:30,344 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-28 10:32:30,344 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-28 10:32:30,344 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-28 10:32:30,345 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-28 10:32:30,345 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-28 10:32:30,345 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-28 10:32:30,345 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-28 10:32:30,345 INFO L290 TraceCheckUtils]: 6: Hoare triple {4560#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {4560#true} is VALID [2022-04-28 10:32:30,345 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-28 10:32:30,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {4560#true} call #t~ret7 := main(); {4560#true} is VALID [2022-04-28 10:32:30,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4560#true} {4560#true} #93#return; {4560#true} is VALID [2022-04-28 10:32:30,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {4560#true} assume true; {4560#true} is VALID [2022-04-28 10:32:30,346 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-28 10:32:30,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {4560#true} call ULTIMATE.init(); {4560#true} is VALID [2022-04-28 10:32:30,346 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-28 10:32:30,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [860511613] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:30,346 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:30,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13, 13] total 32 [2022-04-28 10:32:30,346 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:30,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1797539708] [2022-04-28 10:32:30,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1797539708] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:30,347 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:30,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 10:32:30,347 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [448651693] [2022-04-28 10:32:30,347 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:30,347 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-28 10:32:30,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:30,347 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-28 10:32:30,382 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:30,382 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 10:32:30,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:30,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 10:32:30,382 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=819, Unknown=0, NotChecked=0, Total=992 [2022-04-28 10:32:30,383 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-28 10:32:31,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:31,120 INFO L93 Difference]: Finished difference Result 67 states and 72 transitions. [2022-04-28 10:32:31,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 10:32:31,120 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-28 10:32:31,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:31,121 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-28 10:32:31,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 64 transitions. [2022-04-28 10:32:31,122 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-28 10:32:31,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 64 transitions. [2022-04-28 10:32:31,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 64 transitions. [2022-04-28 10:32:31,175 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:31,176 INFO L225 Difference]: With dead ends: 67 [2022-04-28 10:32:31,176 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 10:32:31,177 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 61 SyntacticMatches, 5 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 600 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=309, Invalid=1497, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 10:32:31,177 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 82 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:31,177 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [85 Valid, 57 Invalid, 318 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:32:31,178 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 10:32:31,270 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2022-04-28 10:32:31,271 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:31,271 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-28 10:32:31,271 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-28 10:32:31,272 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-28 10:32:31,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:31,274 INFO L93 Difference]: Finished difference Result 55 states and 59 transitions. [2022-04-28 10:32:31,274 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2022-04-28 10:32:31,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:31,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:31,274 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-28 10:32:31,274 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-28 10:32:31,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:31,275 INFO L93 Difference]: Finished difference Result 55 states and 59 transitions. [2022-04-28 10:32:31,275 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2022-04-28 10:32:31,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:31,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:31,275 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:31,275 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:31,275 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-28 10:32:31,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2022-04-28 10:32:31,276 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 39 [2022-04-28 10:32:31,276 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:31,277 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2022-04-28 10:32:31,277 INFO L496 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-28 10:32:31,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 55 transitions. [2022-04-28 10:32:31,337 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-28 10:32:31,338 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-04-28 10:32:31,338 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 10:32:31,338 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:31,338 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:31,357 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:31,551 WARN L477 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-28 10:32:31,551 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:31,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:31,552 INFO L85 PathProgramCache]: Analyzing trace with hash -1514673707, now seen corresponding path program 5 times [2022-04-28 10:32:31,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:31,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [384591191] [2022-04-28 10:32:31,555 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:31,555 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:31,555 INFO L85 PathProgramCache]: Analyzing trace with hash -1514673707, now seen corresponding path program 6 times [2022-04-28 10:32:31,555 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:31,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [233639370] [2022-04-28 10:32:31,555 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:31,555 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:31,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:31,597 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:31,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:31,601 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-28 10:32:31,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {5220#true} assume true; {5220#true} is VALID [2022-04-28 10:32:31,601 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5220#true} {5220#true} #93#return; {5220#true} is VALID [2022-04-28 10:32:31,601 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:31,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:31,663 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-28 10:32:31,663 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-28 10:32:31,663 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-28 10:32:31,664 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-28 10:32:31,664 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-28 10:32:31,664 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-28 10:32:31,665 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-28 10:32:31,665 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-28 10:32:31,666 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-28 10:32:31,666 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-28 10:32:31,666 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-28 10:32:31,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume true; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:31,667 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-28 10:32:31,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:32:31,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:31,745 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-28 10:32:31,745 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-28 10:32:31,746 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-28 10:32:31,746 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-28 10:32:31,746 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-28 10:32:31,747 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-28 10:32:31,747 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-28 10:32:31,748 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-28 10:32:31,748 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-28 10:32:31,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume true; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-28 10:32:31,750 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-28 10:32:31,751 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-28 10:32:31,751 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-28 10:32:31,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {5220#true} assume true; {5220#true} is VALID [2022-04-28 10:32:31,751 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5220#true} {5220#true} #93#return; {5220#true} is VALID [2022-04-28 10:32:31,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {5220#true} call #t~ret7 := main(); {5220#true} is VALID [2022-04-28 10:32:31,751 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-28 10:32:31,751 INFO L290 TraceCheckUtils]: 6: Hoare triple {5220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5220#true} is VALID [2022-04-28 10:32:31,751 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-28 10:32:31,751 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-28 10:32:31,752 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-28 10:32:31,752 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-28 10:32:31,752 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-28 10:32:31,753 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-28 10:32:31,753 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-28 10:32:31,754 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-28 10:32:31,754 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-28 10:32:31,754 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-28 10:32:31,755 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-28 10:32:31,755 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-28 10:32:31,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume true; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:31,756 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-28 10:32:31,756 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-28 10:32:31,757 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-28 10:32:31,757 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-28 10:32:31,757 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-28 10:32:31,757 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-28 10:32:31,758 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-28 10:32:31,758 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-28 10:32:31,759 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-28 10:32:31,759 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-28 10:32:31,759 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-28 10:32:31,760 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-28 10:32:31,760 INFO L290 TraceCheckUtils]: 32: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume true; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-28 10:32:31,761 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-28 10:32:31,761 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-28 10:32:31,761 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-28 10:32:31,761 INFO L290 TraceCheckUtils]: 36: Hoare triple {5221#false} ~cond := #in~cond; {5221#false} is VALID [2022-04-28 10:32:31,761 INFO L290 TraceCheckUtils]: 37: Hoare triple {5221#false} assume 0 == ~cond; {5221#false} is VALID [2022-04-28 10:32:31,761 INFO L290 TraceCheckUtils]: 38: Hoare triple {5221#false} assume !false; {5221#false} is VALID [2022-04-28 10:32:31,761 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-28 10:32:31,761 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:31,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [233639370] [2022-04-28 10:32:31,761 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [233639370] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:31,761 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1150272255] [2022-04-28 10:32:31,761 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:32:31,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:31,762 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:31,762 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:31,763 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 10:32:31,801 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 10:32:31,801 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:31,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 10:32:31,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:31,831 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:32,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {5220#true} call ULTIMATE.init(); {5220#true} is VALID [2022-04-28 10:32:32,552 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-28 10:32:32,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {5220#true} assume true; {5220#true} is VALID [2022-04-28 10:32:32,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5220#true} {5220#true} #93#return; {5220#true} is VALID [2022-04-28 10:32:32,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {5220#true} call #t~ret7 := main(); {5220#true} is VALID [2022-04-28 10:32:32,552 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-28 10:32:32,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {5220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5220#true} is VALID [2022-04-28 10:32:32,552 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-28 10:32:32,552 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-28 10:32:32,553 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-28 10:32:32,553 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-28 10:32:32,553 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-28 10:32:32,554 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-28 10:32:32,554 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-28 10:32:32,554 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-28 10:32:32,555 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-28 10:32:32,555 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-28 10:32:32,555 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-28 10:32:32,555 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-28 10:32:32,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume true; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:32,556 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-28 10:32:32,557 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-28 10:32:32,557 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-28 10:32:32,557 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-28 10:32:32,558 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-28 10:32:32,558 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-28 10:32:32,558 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-28 10:32:32,559 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-28 10:32:32,559 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-28 10:32:32,559 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-28 10:32:32,560 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-28 10:32:32,560 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-28 10:32:32,560 INFO L290 TraceCheckUtils]: 32: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume true; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-28 10:32:32,561 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-28 10:32:32,561 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-28 10:32:32,561 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-28 10:32:32,561 INFO L290 TraceCheckUtils]: 36: Hoare triple {5221#false} ~cond := #in~cond; {5221#false} is VALID [2022-04-28 10:32:32,561 INFO L290 TraceCheckUtils]: 37: Hoare triple {5221#false} assume 0 == ~cond; {5221#false} is VALID [2022-04-28 10:32:32,561 INFO L290 TraceCheckUtils]: 38: Hoare triple {5221#false} assume !false; {5221#false} is VALID [2022-04-28 10:32:32,561 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-28 10:32:32,561 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:36,186 INFO L290 TraceCheckUtils]: 38: Hoare triple {5221#false} assume !false; {5221#false} is VALID [2022-04-28 10:32:36,187 INFO L290 TraceCheckUtils]: 37: Hoare triple {5221#false} assume 0 == ~cond; {5221#false} is VALID [2022-04-28 10:32:36,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {5221#false} ~cond := #in~cond; {5221#false} is VALID [2022-04-28 10:32:36,187 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-28 10:32:36,187 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-28 10:32:36,188 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-28 10:32:36,188 INFO L290 TraceCheckUtils]: 32: Hoare triple {5262#(<= |student_version_#in~w| 4)} assume true; {5262#(<= |student_version_#in~w| 4)} is VALID [2022-04-28 10:32:36,188 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-28 10:32:36,189 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-28 10:32:36,189 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-28 10:32:36,189 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-28 10:32:36,190 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-28 10:32:36,190 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-28 10:32:36,190 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-28 10:32:36,191 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-28 10:32:36,191 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-28 10:32:36,191 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-28 10:32:36,192 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-28 10:32:36,192 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-28 10:32:36,193 INFO L290 TraceCheckUtils]: 19: Hoare triple {5256#(<= 5 |correct_version_#in~w|)} assume true; {5256#(<= 5 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:36,193 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-28 10:32:36,193 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-28 10:32:36,193 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-28 10:32:36,194 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-28 10:32:36,194 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-28 10:32:36,194 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-28 10:32:36,195 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-28 10:32:36,195 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-28 10:32:36,195 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-28 10:32:36,196 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-28 10:32:36,196 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-28 10:32:36,196 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-28 10:32:36,196 INFO L290 TraceCheckUtils]: 6: Hoare triple {5220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5220#true} is VALID [2022-04-28 10:32:36,196 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-28 10:32:36,196 INFO L272 TraceCheckUtils]: 4: Hoare triple {5220#true} call #t~ret7 := main(); {5220#true} is VALID [2022-04-28 10:32:36,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5220#true} {5220#true} #93#return; {5220#true} is VALID [2022-04-28 10:32:36,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {5220#true} assume true; {5220#true} is VALID [2022-04-28 10:32:36,197 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-28 10:32:36,197 INFO L272 TraceCheckUtils]: 0: Hoare triple {5220#true} call ULTIMATE.init(); {5220#true} is VALID [2022-04-28 10:32:36,197 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-28 10:32:36,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1150272255] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:36,197 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:36,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13, 13] total 32 [2022-04-28 10:32:36,197 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:36,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [384591191] [2022-04-28 10:32:36,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [384591191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:36,197 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:36,198 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 10:32:36,198 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [673694297] [2022-04-28 10:32:36,198 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:36,198 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-28 10:32:36,198 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:36,198 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-28 10:32:36,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:36,223 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 10:32:36,223 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:36,223 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 10:32:36,223 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=819, Unknown=0, NotChecked=0, Total=992 [2022-04-28 10:32:36,223 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-28 10:32:36,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:36,904 INFO L93 Difference]: Finished difference Result 61 states and 64 transitions. [2022-04-28 10:32:36,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 10:32:36,904 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-28 10:32:36,904 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:36,904 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-28 10:32:36,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 56 transitions. [2022-04-28 10:32:36,905 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-28 10:32:36,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 56 transitions. [2022-04-28 10:32:36,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 56 transitions. [2022-04-28 10:32:36,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:36,951 INFO L225 Difference]: With dead ends: 61 [2022-04-28 10:32:36,951 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 10:32:36,952 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 61 SyntacticMatches, 5 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 583 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=309, Invalid=1497, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 10:32:36,952 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 67 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 298 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:32:36,952 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [68 Valid, 65 Invalid, 318 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 298 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:32:36,953 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 10:32:37,037 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 10:32:37,038 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:37,038 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-28 10:32:37,038 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-28 10:32:37,038 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-28 10:32:37,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:37,039 INFO L93 Difference]: Finished difference Result 51 states and 54 transitions. [2022-04-28 10:32:37,039 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 54 transitions. [2022-04-28 10:32:37,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:37,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:37,039 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-28 10:32:37,039 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-28 10:32:37,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:37,040 INFO L93 Difference]: Finished difference Result 51 states and 54 transitions. [2022-04-28 10:32:37,040 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 54 transitions. [2022-04-28 10:32:37,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:37,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:37,040 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:37,040 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:37,041 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-28 10:32:37,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 53 transitions. [2022-04-28 10:32:37,041 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 53 transitions. Word has length 39 [2022-04-28 10:32:37,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:37,042 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 53 transitions. [2022-04-28 10:32:37,042 INFO L496 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-28 10:32:37,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 53 transitions. [2022-04-28 10:32:37,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:37,105 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 53 transitions. [2022-04-28 10:32:37,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 10:32:37,106 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:37,106 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:37,122 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:37,308 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 10:32:37,309 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:37,309 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:37,309 INFO L85 PathProgramCache]: Analyzing trace with hash -1355746345, now seen corresponding path program 7 times [2022-04-28 10:32:37,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:37,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1143450362] [2022-04-28 10:32:37,311 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:37,311 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:37,311 INFO L85 PathProgramCache]: Analyzing trace with hash -1355746345, now seen corresponding path program 8 times [2022-04-28 10:32:37,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:37,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [251065661] [2022-04-28 10:32:37,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:37,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:37,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:37,377 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:37,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:37,381 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-28 10:32:37,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {5858#true} assume true; {5858#true} is VALID [2022-04-28 10:32:37,381 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5858#true} {5858#true} #93#return; {5858#true} is VALID [2022-04-28 10:32:37,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:37,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:37,459 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-28 10:32:37,460 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-28 10:32:37,460 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-28 10:32:37,461 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-28 10:32:37,461 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-28 10:32:37,461 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-28 10:32:37,462 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-28 10:32:37,462 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-28 10:32:37,463 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-28 10:32:37,463 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-28 10:32:37,463 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-28 10:32:37,464 INFO L290 TraceCheckUtils]: 11: Hoare triple {5897#(<= |correct_version_#in~w| 5)} assume true; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-28 10:32:37,464 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-28 10:32:37,465 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:32:37,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:37,535 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-28 10:32:37,536 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-28 10:32:37,536 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-28 10:32:37,536 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-28 10:32:37,537 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-28 10:32:37,537 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-28 10:32:37,538 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-28 10:32:37,538 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-28 10:32:37,538 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-28 10:32:37,539 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-28 10:32:37,539 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-28 10:32:37,539 INFO L290 TraceCheckUtils]: 11: Hoare triple {5903#(<= 6 |student_version_#in~w|)} assume true; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-28 10:32:37,540 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-28 10:32:37,541 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-28 10:32:37,541 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-28 10:32:37,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {5858#true} assume true; {5858#true} is VALID [2022-04-28 10:32:37,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5858#true} {5858#true} #93#return; {5858#true} is VALID [2022-04-28 10:32:37,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {5858#true} call #t~ret7 := main(); {5858#true} is VALID [2022-04-28 10:32:37,541 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-28 10:32:37,541 INFO L290 TraceCheckUtils]: 6: Hoare triple {5858#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5858#true} is VALID [2022-04-28 10:32:37,541 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-28 10:32:37,541 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-28 10:32:37,542 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-28 10:32:37,542 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-28 10:32:37,542 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-28 10:32:37,543 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-28 10:32:37,543 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-28 10:32:37,544 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-28 10:32:37,544 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-28 10:32:37,544 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-28 10:32:37,545 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-28 10:32:37,545 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-28 10:32:37,545 INFO L290 TraceCheckUtils]: 19: Hoare triple {5897#(<= |correct_version_#in~w| 5)} assume true; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-28 10:32:37,546 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-28 10:32:37,547 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-28 10:32:37,547 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-28 10:32:37,547 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-28 10:32:37,547 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-28 10:32:37,548 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-28 10:32:37,548 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-28 10:32:37,549 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-28 10:32:37,549 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-28 10:32:37,549 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-28 10:32:37,550 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-28 10:32:37,550 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-28 10:32:37,551 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-28 10:32:37,551 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-28 10:32:37,551 INFO L290 TraceCheckUtils]: 34: Hoare triple {5903#(<= 6 |student_version_#in~w|)} assume true; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-28 10:32:37,552 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-28 10:32:37,552 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-28 10:32:37,552 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-28 10:32:37,552 INFO L290 TraceCheckUtils]: 38: Hoare triple {5859#false} ~cond := #in~cond; {5859#false} is VALID [2022-04-28 10:32:37,552 INFO L290 TraceCheckUtils]: 39: Hoare triple {5859#false} assume 0 == ~cond; {5859#false} is VALID [2022-04-28 10:32:37,552 INFO L290 TraceCheckUtils]: 40: Hoare triple {5859#false} assume !false; {5859#false} is VALID [2022-04-28 10:32:37,553 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-28 10:32:37,553 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:37,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [251065661] [2022-04-28 10:32:37,553 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [251065661] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:37,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1830488108] [2022-04-28 10:32:37,553 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:37,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:37,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:37,554 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:37,555 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 10:32:37,594 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:32:37,594 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:37,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 10:32:37,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:37,606 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:38,168 INFO L272 TraceCheckUtils]: 0: Hoare triple {5858#true} call ULTIMATE.init(); {5858#true} is VALID [2022-04-28 10:32:38,168 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-28 10:32:38,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {5858#true} assume true; {5858#true} is VALID [2022-04-28 10:32:38,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5858#true} {5858#true} #93#return; {5858#true} is VALID [2022-04-28 10:32:38,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {5858#true} call #t~ret7 := main(); {5858#true} is VALID [2022-04-28 10:32:38,168 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-28 10:32:38,168 INFO L290 TraceCheckUtils]: 6: Hoare triple {5858#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5858#true} is VALID [2022-04-28 10:32:38,168 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-28 10:32:38,169 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-28 10:32:38,170 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-28 10:32:38,170 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-28 10:32:38,171 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-28 10:32:38,171 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-28 10:32:38,171 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-28 10:32:38,172 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-28 10:32:38,172 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-28 10:32:38,173 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-28 10:32:38,173 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-28 10:32:38,173 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-28 10:32:38,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {5897#(<= |correct_version_#in~w| 5)} assume true; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-28 10:32:38,174 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-28 10:32:38,175 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-28 10:32:38,175 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-28 10:32:38,175 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-28 10:32:38,175 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-28 10:32:38,176 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-28 10:32:38,176 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-28 10:32:38,176 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-28 10:32:38,177 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-28 10:32:38,177 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-28 10:32:38,177 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-28 10:32:38,178 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-28 10:32:38,178 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-28 10:32:38,181 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-28 10:32:38,181 INFO L290 TraceCheckUtils]: 34: Hoare triple {5903#(<= 6 |student_version_#in~w|)} assume true; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-28 10:32:38,182 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-28 10:32:38,182 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-28 10:32:38,182 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-28 10:32:38,182 INFO L290 TraceCheckUtils]: 38: Hoare triple {5859#false} ~cond := #in~cond; {5859#false} is VALID [2022-04-28 10:32:38,182 INFO L290 TraceCheckUtils]: 39: Hoare triple {5859#false} assume 0 == ~cond; {5859#false} is VALID [2022-04-28 10:32:38,182 INFO L290 TraceCheckUtils]: 40: Hoare triple {5859#false} assume !false; {5859#false} is VALID [2022-04-28 10:32:38,182 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-28 10:32:38,182 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:44,807 INFO L290 TraceCheckUtils]: 40: Hoare triple {5859#false} assume !false; {5859#false} is VALID [2022-04-28 10:32:44,807 INFO L290 TraceCheckUtils]: 39: Hoare triple {5859#false} assume 0 == ~cond; {5859#false} is VALID [2022-04-28 10:32:44,807 INFO L290 TraceCheckUtils]: 38: Hoare triple {5859#false} ~cond := #in~cond; {5859#false} is VALID [2022-04-28 10:32:44,807 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-28 10:32:44,807 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-28 10:32:44,808 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-28 10:32:44,808 INFO L290 TraceCheckUtils]: 34: Hoare triple {5903#(<= 6 |student_version_#in~w|)} assume true; {5903#(<= 6 |student_version_#in~w|)} is VALID [2022-04-28 10:32:44,808 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-28 10:32:44,809 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-28 10:32:44,809 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-28 10:32:44,809 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-28 10:32:44,810 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-28 10:32:44,810 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-28 10:32:44,810 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-28 10:32:44,811 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-28 10:32:44,811 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-28 10:32:44,811 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-28 10:32:44,812 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-28 10:32:44,812 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-28 10:32:44,812 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-28 10:32:44,813 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-28 10:32:44,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {5897#(<= |correct_version_#in~w| 5)} assume true; {5897#(<= |correct_version_#in~w| 5)} is VALID [2022-04-28 10:32:44,813 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-28 10:32:44,814 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-28 10:32:44,814 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-28 10:32:44,814 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-28 10:32:44,815 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-28 10:32:44,815 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-28 10:32:44,815 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-28 10:32:44,816 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-28 10:32:44,816 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-28 10:32:44,816 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-28 10:32:44,817 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-28 10:32:44,817 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-28 10:32:44,817 INFO L290 TraceCheckUtils]: 6: Hoare triple {5858#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {5858#true} is VALID [2022-04-28 10:32:44,817 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-28 10:32:44,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {5858#true} call #t~ret7 := main(); {5858#true} is VALID [2022-04-28 10:32:44,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5858#true} {5858#true} #93#return; {5858#true} is VALID [2022-04-28 10:32:44,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {5858#true} assume true; {5858#true} is VALID [2022-04-28 10:32:44,817 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-28 10:32:44,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {5858#true} call ULTIMATE.init(); {5858#true} is VALID [2022-04-28 10:32:44,818 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-28 10:32:44,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1830488108] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:44,818 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:44,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 16] total 39 [2022-04-28 10:32:44,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:44,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1143450362] [2022-04-28 10:32:44,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1143450362] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:44,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:44,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 10:32:44,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [810606765] [2022-04-28 10:32:44,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:44,819 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-28 10:32:44,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:44,819 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-28 10:32:44,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:44,867 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 10:32:44,867 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:44,867 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 10:32:44,867 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=239, Invalid=1243, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 10:32:44,868 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-28 10:32:45,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:45,696 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 10:32:45,696 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 10:32:45,696 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-28 10:32:45,697 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:45,697 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-28 10:32:45,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 72 transitions. [2022-04-28 10:32:45,698 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-28 10:32:45,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 72 transitions. [2022-04-28 10:32:45,699 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 72 transitions. [2022-04-28 10:32:45,775 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:45,776 INFO L225 Difference]: With dead ends: 70 [2022-04-28 10:32:45,776 INFO L226 Difference]: Without dead ends: 59 [2022-04-28 10:32:45,777 INFO L412 NwaCegarLoop]: 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-28 10:32:45,777 INFO L413 NwaCegarLoop]: 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-28 10:32:45,778 INFO L414 NwaCegarLoop]: 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-28 10:32:45,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-28 10:32:45,899 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 53. [2022-04-28 10:32:45,899 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:45,900 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-28 10:32:45,900 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-28 10:32:45,900 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-28 10:32:45,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:45,901 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2022-04-28 10:32:45,901 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 65 transitions. [2022-04-28 10:32:45,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:45,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:45,902 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-28 10:32:45,902 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-28 10:32:45,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:45,903 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2022-04-28 10:32:45,903 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 65 transitions. [2022-04-28 10:32:45,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:45,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:45,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:45,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:45,907 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-28 10:32:45,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2022-04-28 10:32:45,909 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 41 [2022-04-28 10:32:45,909 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:45,909 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2022-04-28 10:32:45,909 INFO L496 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-28 10:32:45,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 57 transitions. [2022-04-28 10:32:45,979 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:45,979 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2022-04-28 10:32:45,980 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 10:32:45,980 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:45,980 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:46,003 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-28 10:32:46,180 WARN L477 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-28 10:32:46,180 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:46,181 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:46,181 INFO L85 PathProgramCache]: Analyzing trace with hash 2125149075, now seen corresponding path program 7 times [2022-04-28 10:32:46,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:46,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [467813944] [2022-04-28 10:32:46,183 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:46,184 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:46,184 INFO L85 PathProgramCache]: Analyzing trace with hash 2125149075, now seen corresponding path program 8 times [2022-04-28 10:32:46,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:46,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1789258771] [2022-04-28 10:32:46,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:46,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:46,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:46,247 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:46,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:46,252 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-28 10:32:46,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {6563#true} assume true; {6563#true} is VALID [2022-04-28 10:32:46,252 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6563#true} {6563#true} #93#return; {6563#true} is VALID [2022-04-28 10:32:46,252 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:46,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:46,317 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-28 10:32:46,317 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-28 10:32:46,318 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-28 10:32:46,318 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-28 10:32:46,319 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-28 10:32:46,319 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-28 10:32:46,319 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-28 10:32:46,320 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-28 10:32:46,320 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-28 10:32:46,321 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-28 10:32:46,321 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-28 10:32:46,321 INFO L290 TraceCheckUtils]: 11: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} assume true; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:46,322 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-28 10:32:46,323 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:32:46,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:46,445 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-28 10:32:46,445 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-28 10:32:46,446 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-28 10:32:46,446 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-28 10:32:46,447 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-28 10:32:46,447 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-28 10:32:46,448 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-28 10:32:46,448 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-28 10:32:46,449 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-28 10:32:46,449 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-28 10:32:46,449 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-28 10:32:46,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {6608#(<= |student_version_#in~w| 5)} assume true; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-28 10:32:46,451 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-28 10:32:46,452 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-28 10:32:46,452 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-28 10:32:46,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {6563#true} assume true; {6563#true} is VALID [2022-04-28 10:32:46,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6563#true} {6563#true} #93#return; {6563#true} is VALID [2022-04-28 10:32:46,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {6563#true} call #t~ret7 := main(); {6563#true} is VALID [2022-04-28 10:32:46,452 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-28 10:32:46,452 INFO L290 TraceCheckUtils]: 6: Hoare triple {6563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {6563#true} is VALID [2022-04-28 10:32:46,452 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-28 10:32:46,453 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-28 10:32:46,453 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-28 10:32:46,453 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-28 10:32:46,454 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-28 10:32:46,454 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-28 10:32:46,455 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-28 10:32:46,455 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-28 10:32:46,456 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-28 10:32:46,456 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-28 10:32:46,457 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-28 10:32:46,457 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-28 10:32:46,457 INFO L290 TraceCheckUtils]: 19: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} assume true; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:46,458 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-28 10:32:46,459 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-28 10:32:46,459 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-28 10:32:46,460 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-28 10:32:46,460 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-28 10:32:46,460 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-28 10:32:46,461 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-28 10:32:46,461 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-28 10:32:46,462 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-28 10:32:46,462 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-28 10:32:46,463 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-28 10:32:46,463 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-28 10:32:46,464 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-28 10:32:46,464 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-28 10:32:46,465 INFO L290 TraceCheckUtils]: 34: Hoare triple {6608#(<= |student_version_#in~w| 5)} assume true; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-28 10:32:46,466 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-28 10:32:46,466 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-28 10:32:46,466 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-28 10:32:46,466 INFO L290 TraceCheckUtils]: 38: Hoare triple {6564#false} ~cond := #in~cond; {6564#false} is VALID [2022-04-28 10:32:46,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {6564#false} assume 0 == ~cond; {6564#false} is VALID [2022-04-28 10:32:46,466 INFO L290 TraceCheckUtils]: 40: Hoare triple {6564#false} assume !false; {6564#false} is VALID [2022-04-28 10:32:46,466 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-28 10:32:46,467 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:46,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1789258771] [2022-04-28 10:32:46,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1789258771] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:46,467 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [972091852] [2022-04-28 10:32:46,467 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:32:46,467 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:46,467 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:46,472 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:46,474 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 10:32:46,516 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:32:46,516 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:46,517 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 10:32:46,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:46,533 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:47,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {6563#true} call ULTIMATE.init(); {6563#true} is VALID [2022-04-28 10:32:47,459 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-28 10:32:47,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {6563#true} assume true; {6563#true} is VALID [2022-04-28 10:32:47,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6563#true} {6563#true} #93#return; {6563#true} is VALID [2022-04-28 10:32:47,460 INFO L272 TraceCheckUtils]: 4: Hoare triple {6563#true} call #t~ret7 := main(); {6563#true} is VALID [2022-04-28 10:32:47,460 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-28 10:32:47,460 INFO L290 TraceCheckUtils]: 6: Hoare triple {6563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {6563#true} is VALID [2022-04-28 10:32:47,460 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-28 10:32:47,460 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-28 10:32:47,461 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-28 10:32:47,461 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-28 10:32:47,462 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-28 10:32:47,462 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-28 10:32:47,462 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-28 10:32:47,463 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-28 10:32:47,463 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-28 10:32:47,464 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-28 10:32:47,464 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-28 10:32:47,464 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-28 10:32:47,465 INFO L290 TraceCheckUtils]: 19: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} assume true; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:47,466 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-28 10:32:47,466 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-28 10:32:47,466 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-28 10:32:47,467 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-28 10:32:47,467 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-28 10:32:47,468 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-28 10:32:47,468 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-28 10:32:47,468 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-28 10:32:47,469 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-28 10:32:47,469 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-28 10:32:47,470 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-28 10:32:47,470 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-28 10:32:47,471 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-28 10:32:47,471 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-28 10:32:47,471 INFO L290 TraceCheckUtils]: 34: Hoare triple {6608#(<= |student_version_#in~w| 5)} assume true; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-28 10:32:47,472 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-28 10:32:47,472 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-28 10:32:47,472 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-28 10:32:47,472 INFO L290 TraceCheckUtils]: 38: Hoare triple {6564#false} ~cond := #in~cond; {6564#false} is VALID [2022-04-28 10:32:47,472 INFO L290 TraceCheckUtils]: 39: Hoare triple {6564#false} assume 0 == ~cond; {6564#false} is VALID [2022-04-28 10:32:47,472 INFO L290 TraceCheckUtils]: 40: Hoare triple {6564#false} assume !false; {6564#false} is VALID [2022-04-28 10:32:47,473 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-28 10:32:47,473 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:54,204 INFO L290 TraceCheckUtils]: 40: Hoare triple {6564#false} assume !false; {6564#false} is VALID [2022-04-28 10:32:54,205 INFO L290 TraceCheckUtils]: 39: Hoare triple {6564#false} assume 0 == ~cond; {6564#false} is VALID [2022-04-28 10:32:54,205 INFO L290 TraceCheckUtils]: 38: Hoare triple {6564#false} ~cond := #in~cond; {6564#false} is VALID [2022-04-28 10:32:54,205 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-28 10:32:54,205 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-28 10:32:54,206 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-28 10:32:54,206 INFO L290 TraceCheckUtils]: 34: Hoare triple {6608#(<= |student_version_#in~w| 5)} assume true; {6608#(<= |student_version_#in~w| 5)} is VALID [2022-04-28 10:32:54,207 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-28 10:32:54,207 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-28 10:32:54,207 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-28 10:32:54,208 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-28 10:32:54,208 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-28 10:32:54,208 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-28 10:32:54,209 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-28 10:32:54,209 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-28 10:32:54,210 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-28 10:32:54,210 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-28 10:32:54,210 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-28 10:32:54,210 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-28 10:32:54,211 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-28 10:32:54,211 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-28 10:32:54,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {6601#(<= 6 |correct_version_#in~w|)} assume true; {6601#(<= 6 |correct_version_#in~w|)} is VALID [2022-04-28 10:32:54,212 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-28 10:32:54,212 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-28 10:32:54,213 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-28 10:32:54,213 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-28 10:32:54,223 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-28 10:32:54,224 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-28 10:32:54,224 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-28 10:32:54,225 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-28 10:32:54,225 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-28 10:32:54,225 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-28 10:32:54,226 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-28 10:32:54,226 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-28 10:32:54,226 INFO L290 TraceCheckUtils]: 6: Hoare triple {6563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {6563#true} is VALID [2022-04-28 10:32:54,226 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-28 10:32:54,226 INFO L272 TraceCheckUtils]: 4: Hoare triple {6563#true} call #t~ret7 := main(); {6563#true} is VALID [2022-04-28 10:32:54,226 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6563#true} {6563#true} #93#return; {6563#true} is VALID [2022-04-28 10:32:54,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {6563#true} assume true; {6563#true} is VALID [2022-04-28 10:32:54,226 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-28 10:32:54,226 INFO L272 TraceCheckUtils]: 0: Hoare triple {6563#true} call ULTIMATE.init(); {6563#true} is VALID [2022-04-28 10:32:54,226 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-28 10:32:54,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [972091852] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:54,226 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:54,227 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 16] total 39 [2022-04-28 10:32:54,227 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:54,227 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [467813944] [2022-04-28 10:32:54,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [467813944] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:54,227 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:54,227 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 10:32:54,227 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1700594933] [2022-04-28 10:32:54,227 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:54,227 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-28 10:32:54,228 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:54,228 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-28 10:32:54,252 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:54,253 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 10:32:54,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:54,253 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 10:32:54,253 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=239, Invalid=1243, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 10:32:54,253 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-28 10:32:55,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:55,079 INFO L93 Difference]: Finished difference Result 65 states and 70 transitions. [2022-04-28 10:32:55,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 10:32:55,079 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-28 10:32:55,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:32:55,079 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-28 10:32:55,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-28 10:32:55,080 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-28 10:32:55,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-28 10:32:55,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 65 transitions. [2022-04-28 10:32:55,131 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:55,131 INFO L225 Difference]: With dead ends: 65 [2022-04-28 10:32:55,131 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 10:32:55,132 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 59 SyntacticMatches, 5 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 941 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=437, Invalid=2319, Unknown=0, NotChecked=0, Total=2756 [2022-04-28 10:32:55,133 INFO L413 NwaCegarLoop]: 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-28 10:32:55,133 INFO L414 NwaCegarLoop]: 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-28 10:32:55,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 10:32:55,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-28 10:32:55,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:32:55,262 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-28 10:32:55,262 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-28 10:32:55,262 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-28 10:32:55,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:55,263 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-28 10:32:55,263 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 10:32:55,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:55,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:55,264 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-28 10:32:55,264 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-28 10:32:55,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:32:55,264 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-28 10:32:55,264 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 10:32:55,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:32:55,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:32:55,265 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:32:55,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:32:55,265 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-28 10:32:55,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 61 transitions. [2022-04-28 10:32:55,266 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 61 transitions. Word has length 41 [2022-04-28 10:32:55,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:32:55,266 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 61 transitions. [2022-04-28 10:32:55,266 INFO L496 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-28 10:32:55,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 61 transitions. [2022-04-28 10:32:55,344 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:55,344 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 10:32:55,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:32:55,345 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:32:55,345 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:32:55,363 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 10:32:55,555 WARN L477 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-28 10:32:55,555 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:32:55,555 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:32:55,555 INFO L85 PathProgramCache]: Analyzing trace with hash 431574421, now seen corresponding path program 9 times [2022-04-28 10:32:55,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:55,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [167875148] [2022-04-28 10:32:55,558 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:32:55,558 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:32:55,558 INFO L85 PathProgramCache]: Analyzing trace with hash 431574421, now seen corresponding path program 10 times [2022-04-28 10:32:55,558 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:32:55,558 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [383981586] [2022-04-28 10:32:55,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:32:55,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:32:55,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:55,602 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:32:55,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:55,605 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-28 10:32:55,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {7258#true} assume true; {7258#true} is VALID [2022-04-28 10:32:55,605 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7258#true} {7258#true} #93#return; {7258#true} is VALID [2022-04-28 10:32:55,605 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:32:55,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:55,666 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-28 10:32:55,667 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-28 10:32:55,667 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-28 10:32:55,667 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-28 10:32:55,668 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-28 10:32:55,668 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-28 10:32:55,668 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-28 10:32:55,669 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-28 10:32:55,669 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-28 10:32:55,670 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-28 10:32:55,670 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-28 10:32:55,670 INFO L290 TraceCheckUtils]: 11: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume true; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-28 10:32:55,671 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-28 10:32:55,671 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:32:55,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:55,759 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-28 10:32:55,760 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-28 10:32:55,760 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-28 10:32:55,761 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-28 10:32:55,761 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-28 10:32:55,761 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-28 10:32:55,762 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-28 10:32:55,762 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-28 10:32:55,762 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-28 10:32:55,763 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-28 10:32:55,763 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-28 10:32:55,763 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-28 10:32:55,764 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-28 10:32:55,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume true; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-28 10:32:55,765 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-28 10:32:55,765 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-28 10:32:55,766 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-28 10:32:55,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {7258#true} assume true; {7258#true} is VALID [2022-04-28 10:32:55,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7258#true} {7258#true} #93#return; {7258#true} is VALID [2022-04-28 10:32:55,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {7258#true} call #t~ret7 := main(); {7258#true} is VALID [2022-04-28 10:32:55,766 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-28 10:32:55,766 INFO L290 TraceCheckUtils]: 6: Hoare triple {7258#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7258#true} is VALID [2022-04-28 10:32:55,766 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-28 10:32:55,766 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-28 10:32:55,767 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-28 10:32:55,767 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-28 10:32:55,767 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-28 10:32:55,768 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-28 10:32:55,768 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-28 10:32:55,768 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-28 10:32:55,769 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-28 10:32:55,769 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-28 10:32:55,769 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-28 10:32:55,770 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-28 10:32:55,770 INFO L290 TraceCheckUtils]: 19: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume true; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-28 10:32:55,771 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-28 10:32:55,771 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-28 10:32:55,771 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-28 10:32:55,771 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-28 10:32:55,772 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-28 10:32:55,772 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-28 10:32:55,773 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-28 10:32:55,773 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-28 10:32:55,773 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-28 10:32:55,774 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-28 10:32:55,774 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-28 10:32:55,774 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-28 10:32:55,775 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-28 10:32:55,775 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-28 10:32:55,775 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-28 10:32:55,776 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-28 10:32:55,776 INFO L290 TraceCheckUtils]: 36: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume true; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-28 10:32:55,777 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-28 10:32:55,777 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-28 10:32:55,777 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-28 10:32:55,777 INFO L290 TraceCheckUtils]: 40: Hoare triple {7259#false} ~cond := #in~cond; {7259#false} is VALID [2022-04-28 10:32:55,777 INFO L290 TraceCheckUtils]: 41: Hoare triple {7259#false} assume 0 == ~cond; {7259#false} is VALID [2022-04-28 10:32:55,777 INFO L290 TraceCheckUtils]: 42: Hoare triple {7259#false} assume !false; {7259#false} is VALID [2022-04-28 10:32:55,777 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-28 10:32:55,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:32:55,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [383981586] [2022-04-28 10:32:55,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [383981586] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:32:55,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [879121110] [2022-04-28 10:32:55,778 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:32:55,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:32:55,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:32:55,779 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:32:55,811 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 10:32:55,836 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:32:55,837 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:32:55,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:32:55,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:32:55,861 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:32:56,358 INFO L272 TraceCheckUtils]: 0: Hoare triple {7258#true} call ULTIMATE.init(); {7258#true} is VALID [2022-04-28 10:32:56,358 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-28 10:32:56,358 INFO L290 TraceCheckUtils]: 2: Hoare triple {7258#true} assume true; {7258#true} is VALID [2022-04-28 10:32:56,358 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7258#true} {7258#true} #93#return; {7258#true} is VALID [2022-04-28 10:32:56,358 INFO L272 TraceCheckUtils]: 4: Hoare triple {7258#true} call #t~ret7 := main(); {7258#true} is VALID [2022-04-28 10:32:56,358 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-28 10:32:56,358 INFO L290 TraceCheckUtils]: 6: Hoare triple {7258#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7258#true} is VALID [2022-04-28 10:32:56,358 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-28 10:32:56,358 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-28 10:32:56,359 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-28 10:32:56,359 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-28 10:32:56,360 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-28 10:32:56,360 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-28 10:32:56,360 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-28 10:32:56,361 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-28 10:32:56,361 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-28 10:32:56,361 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-28 10:32:56,362 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-28 10:32:56,362 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-28 10:32:56,362 INFO L290 TraceCheckUtils]: 19: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume true; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-28 10:32:56,363 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-28 10:32:56,363 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-28 10:32:56,363 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-28 10:32:56,364 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-28 10:32:56,364 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-28 10:32:56,364 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-28 10:32:56,365 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-28 10:32:56,365 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-28 10:32:56,365 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-28 10:32:56,366 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-28 10:32:56,366 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-28 10:32:56,367 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-28 10:32:56,367 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-28 10:32:56,367 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-28 10:32:56,367 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-28 10:32:56,368 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-28 10:32:56,368 INFO L290 TraceCheckUtils]: 36: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume true; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-28 10:32:56,369 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-28 10:32:56,369 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-28 10:32:56,369 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-28 10:32:56,369 INFO L290 TraceCheckUtils]: 40: Hoare triple {7259#false} ~cond := #in~cond; {7259#false} is VALID [2022-04-28 10:32:56,369 INFO L290 TraceCheckUtils]: 41: Hoare triple {7259#false} assume 0 == ~cond; {7259#false} is VALID [2022-04-28 10:32:56,369 INFO L290 TraceCheckUtils]: 42: Hoare triple {7259#false} assume !false; {7259#false} is VALID [2022-04-28 10:32:56,369 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-28 10:32:56,369 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:32:59,563 INFO L290 TraceCheckUtils]: 42: Hoare triple {7259#false} assume !false; {7259#false} is VALID [2022-04-28 10:32:59,563 INFO L290 TraceCheckUtils]: 41: Hoare triple {7259#false} assume 0 == ~cond; {7259#false} is VALID [2022-04-28 10:32:59,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {7259#false} ~cond := #in~cond; {7259#false} is VALID [2022-04-28 10:32:59,564 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-28 10:32:59,564 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-28 10:32:59,564 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-28 10:32:59,565 INFO L290 TraceCheckUtils]: 36: Hoare triple {7306#(<= 7 |student_version_#in~w|)} assume true; {7306#(<= 7 |student_version_#in~w|)} is VALID [2022-04-28 10:32:59,565 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-28 10:32:59,565 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-28 10:32:59,565 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-28 10:32:59,566 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-28 10:32:59,566 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-28 10:32:59,566 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-28 10:32:59,567 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-28 10:32:59,567 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-28 10:32:59,567 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-28 10:32:59,568 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-28 10:32:59,568 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-28 10:32:59,568 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-28 10:32:59,569 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-28 10:32:59,569 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-28 10:32:59,569 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-28 10:32:59,570 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-28 10:32:59,570 INFO L290 TraceCheckUtils]: 19: Hoare triple {7299#(<= |correct_version_#in~w| 6)} assume true; {7299#(<= |correct_version_#in~w| 6)} is VALID [2022-04-28 10:32:59,571 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-28 10:32:59,571 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-28 10:32:59,571 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-28 10:32:59,572 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-28 10:32:59,572 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-28 10:32:59,572 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-28 10:32:59,573 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-28 10:32:59,573 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-28 10:32:59,573 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-28 10:32:59,574 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-28 10:32:59,574 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-28 10:32:59,574 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-28 10:32:59,574 INFO L290 TraceCheckUtils]: 6: Hoare triple {7258#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7258#true} is VALID [2022-04-28 10:32:59,574 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-28 10:32:59,574 INFO L272 TraceCheckUtils]: 4: Hoare triple {7258#true} call #t~ret7 := main(); {7258#true} is VALID [2022-04-28 10:32:59,574 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7258#true} {7258#true} #93#return; {7258#true} is VALID [2022-04-28 10:32:59,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {7258#true} assume true; {7258#true} is VALID [2022-04-28 10:32:59,574 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-28 10:32:59,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {7258#true} call ULTIMATE.init(); {7258#true} is VALID [2022-04-28 10:32:59,575 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-28 10:32:59,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [879121110] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:32:59,575 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:32:59,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 15, 15] total 38 [2022-04-28 10:32:59,575 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:32:59,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [167875148] [2022-04-28 10:32:59,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [167875148] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:32:59,575 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:32:59,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 10:32:59,575 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [498359402] [2022-04-28 10:32:59,575 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:32:59,576 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-28 10:32:59,576 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:32:59,576 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-28 10:32:59,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:32:59,602 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 10:32:59,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:32:59,603 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 10:32:59,603 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=241, Invalid=1165, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 10:32:59,603 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-28 10:33:00,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:00,481 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2022-04-28 10:33:00,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 10:33:00,481 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-28 10:33:00,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:00,481 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-28 10:33:00,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 68 transitions. [2022-04-28 10:33:00,482 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-28 10:33:00,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 68 transitions. [2022-04-28 10:33:00,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 68 transitions. [2022-04-28 10:33:00,533 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-28 10:33:00,534 INFO L225 Difference]: With dead ends: 71 [2022-04-28 10:33:00,534 INFO L226 Difference]: Without dead ends: 59 [2022-04-28 10:33:00,535 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 65 SyntacticMatches, 5 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 921 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=426, Invalid=2124, Unknown=0, NotChecked=0, Total=2550 [2022-04-28 10:33:00,535 INFO L413 NwaCegarLoop]: 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-28 10:33:00,536 INFO L414 NwaCegarLoop]: 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-28 10:33:00,536 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-28 10:33:00,658 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 55. [2022-04-28 10:33:00,658 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:00,658 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-28 10:33:00,658 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-28 10:33:00,658 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-28 10:33:00,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:00,659 INFO L93 Difference]: Finished difference Result 59 states and 63 transitions. [2022-04-28 10:33:00,659 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2022-04-28 10:33:00,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:00,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:00,660 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-28 10:33:00,660 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-28 10:33:00,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:00,661 INFO L93 Difference]: Finished difference Result 59 states and 63 transitions. [2022-04-28 10:33:00,661 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2022-04-28 10:33:00,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:00,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:00,662 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:00,662 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:00,662 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-28 10:33:00,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 59 transitions. [2022-04-28 10:33:00,662 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 59 transitions. Word has length 43 [2022-04-28 10:33:00,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:00,663 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 59 transitions. [2022-04-28 10:33:00,663 INFO L496 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-28 10:33:00,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 59 transitions. [2022-04-28 10:33:00,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:00,736 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2022-04-28 10:33:00,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:33:00,737 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:00,737 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:00,753 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:00,943 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 10:33:00,943 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:00,944 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:00,944 INFO L85 PathProgramCache]: Analyzing trace with hash -1007286155, now seen corresponding path program 9 times [2022-04-28 10:33:00,944 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:00,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1791147006] [2022-04-28 10:33:00,946 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:00,946 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:00,946 INFO L85 PathProgramCache]: Analyzing trace with hash -1007286155, now seen corresponding path program 10 times [2022-04-28 10:33:00,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:00,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [210405782] [2022-04-28 10:33:00,946 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:00,946 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:00,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:00,990 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:00,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:00,993 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-28 10:33:00,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {7980#true} assume true; {7980#true} is VALID [2022-04-28 10:33:00,993 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7980#true} {7980#true} #93#return; {7980#true} is VALID [2022-04-28 10:33:00,993 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:00,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:01,068 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-28 10:33:01,068 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-28 10:33:01,068 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-28 10:33:01,069 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-28 10:33:01,069 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-28 10:33:01,070 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-28 10:33:01,070 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-28 10:33:01,070 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-28 10:33:01,071 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-28 10:33:01,071 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-28 10:33:01,071 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-28 10:33:01,072 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-28 10:33:01,072 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-28 10:33:01,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume true; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:01,073 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-28 10:33:01,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:33:01,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:01,154 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-28 10:33:01,155 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-28 10:33:01,155 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-28 10:33:01,155 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-28 10:33:01,156 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-28 10:33:01,156 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-28 10:33:01,156 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-28 10:33:01,157 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-28 10:33:01,157 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-28 10:33:01,157 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-28 10:33:01,158 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-28 10:33:01,158 INFO L290 TraceCheckUtils]: 11: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume true; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-28 10:33:01,159 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-28 10:33:01,159 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-28 10:33:01,159 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-28 10:33:01,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {7980#true} assume true; {7980#true} is VALID [2022-04-28 10:33:01,159 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7980#true} {7980#true} #93#return; {7980#true} is VALID [2022-04-28 10:33:01,160 INFO L272 TraceCheckUtils]: 4: Hoare triple {7980#true} call #t~ret7 := main(); {7980#true} is VALID [2022-04-28 10:33:01,160 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-28 10:33:01,160 INFO L290 TraceCheckUtils]: 6: Hoare triple {7980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7980#true} is VALID [2022-04-28 10:33:01,160 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-28 10:33:01,160 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-28 10:33:01,160 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-28 10:33:01,161 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-28 10:33:01,161 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-28 10:33:01,161 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-28 10:33:01,162 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-28 10:33:01,162 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-28 10:33:01,162 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-28 10:33:01,163 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-28 10:33:01,163 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-28 10:33:01,163 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-28 10:33:01,164 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-28 10:33:01,164 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-28 10:33:01,164 INFO L290 TraceCheckUtils]: 21: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume true; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:01,165 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-28 10:33:01,165 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-28 10:33:01,165 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-28 10:33:01,166 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-28 10:33:01,166 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-28 10:33:01,166 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-28 10:33:01,167 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-28 10:33:01,167 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-28 10:33:01,167 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-28 10:33:01,168 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-28 10:33:01,168 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-28 10:33:01,168 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-28 10:33:01,169 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-28 10:33:01,169 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-28 10:33:01,171 INFO L290 TraceCheckUtils]: 36: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume true; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-28 10:33:01,172 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-28 10:33:01,172 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-28 10:33:01,172 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-28 10:33:01,172 INFO L290 TraceCheckUtils]: 40: Hoare triple {7981#false} ~cond := #in~cond; {7981#false} is VALID [2022-04-28 10:33:01,172 INFO L290 TraceCheckUtils]: 41: Hoare triple {7981#false} assume 0 == ~cond; {7981#false} is VALID [2022-04-28 10:33:01,172 INFO L290 TraceCheckUtils]: 42: Hoare triple {7981#false} assume !false; {7981#false} is VALID [2022-04-28 10:33:01,172 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-28 10:33:01,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:01,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [210405782] [2022-04-28 10:33:01,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [210405782] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:01,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [169601645] [2022-04-28 10:33:01,173 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:33:01,173 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:01,173 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:01,174 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:01,187 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 10:33:01,218 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:33:01,218 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:01,218 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 10:33:01,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:01,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:01,914 INFO L272 TraceCheckUtils]: 0: Hoare triple {7980#true} call ULTIMATE.init(); {7980#true} is VALID [2022-04-28 10:33:01,915 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-28 10:33:01,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {7980#true} assume true; {7980#true} is VALID [2022-04-28 10:33:01,915 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7980#true} {7980#true} #93#return; {7980#true} is VALID [2022-04-28 10:33:01,915 INFO L272 TraceCheckUtils]: 4: Hoare triple {7980#true} call #t~ret7 := main(); {7980#true} is VALID [2022-04-28 10:33:01,915 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-28 10:33:01,915 INFO L290 TraceCheckUtils]: 6: Hoare triple {7980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7980#true} is VALID [2022-04-28 10:33:01,915 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-28 10:33:01,915 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-28 10:33:01,916 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-28 10:33:01,916 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-28 10:33:01,916 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-28 10:33:01,917 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-28 10:33:01,917 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-28 10:33:01,918 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-28 10:33:01,919 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-28 10:33:01,920 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-28 10:33:01,920 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-28 10:33:01,920 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-28 10:33:01,921 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-28 10:33:01,921 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-28 10:33:01,921 INFO L290 TraceCheckUtils]: 21: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume true; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:01,922 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-28 10:33:01,923 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-28 10:33:01,923 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-28 10:33:01,923 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-28 10:33:01,923 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-28 10:33:01,924 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-28 10:33:01,924 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-28 10:33:01,925 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-28 10:33:01,925 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-28 10:33:01,926 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-28 10:33:01,926 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-28 10:33:01,927 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-28 10:33:01,927 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-28 10:33:01,927 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-28 10:33:01,927 INFO L290 TraceCheckUtils]: 36: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume true; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-28 10:33:01,928 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-28 10:33:01,928 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-28 10:33:01,944 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-28 10:33:01,944 INFO L290 TraceCheckUtils]: 40: Hoare triple {7981#false} ~cond := #in~cond; {7981#false} is VALID [2022-04-28 10:33:01,944 INFO L290 TraceCheckUtils]: 41: Hoare triple {7981#false} assume 0 == ~cond; {7981#false} is VALID [2022-04-28 10:33:01,944 INFO L290 TraceCheckUtils]: 42: Hoare triple {7981#false} assume !false; {7981#false} is VALID [2022-04-28 10:33:01,944 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-28 10:33:01,944 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:04,765 INFO L290 TraceCheckUtils]: 42: Hoare triple {7981#false} assume !false; {7981#false} is VALID [2022-04-28 10:33:04,765 INFO L290 TraceCheckUtils]: 41: Hoare triple {7981#false} assume 0 == ~cond; {7981#false} is VALID [2022-04-28 10:33:04,765 INFO L290 TraceCheckUtils]: 40: Hoare triple {7981#false} ~cond := #in~cond; {7981#false} is VALID [2022-04-28 10:33:04,765 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-28 10:33:04,765 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-28 10:33:04,766 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-28 10:33:04,766 INFO L290 TraceCheckUtils]: 36: Hoare triple {8028#(<= |student_version_#in~w| 6)} assume true; {8028#(<= |student_version_#in~w| 6)} is VALID [2022-04-28 10:33:04,767 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-28 10:33:04,767 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-28 10:33:04,767 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-28 10:33:04,768 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-28 10:33:04,768 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-28 10:33:04,768 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-28 10:33:04,769 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-28 10:33:04,769 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-28 10:33:04,769 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-28 10:33:04,770 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-28 10:33:04,770 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-28 10:33:04,770 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-28 10:33:04,770 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-28 10:33:04,771 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-28 10:33:04,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {8021#(<= 7 |correct_version_#in~w|)} assume true; {8021#(<= 7 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:04,772 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-28 10:33:04,772 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-28 10:33:04,772 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-28 10:33:04,772 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-28 10:33:04,773 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-28 10:33:04,773 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-28 10:33:04,774 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-28 10:33:04,774 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-28 10:33:04,774 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-28 10:33:04,775 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-28 10:33:04,775 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-28 10:33:04,775 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-28 10:33:04,776 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-28 10:33:04,776 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-28 10:33:04,776 INFO L290 TraceCheckUtils]: 6: Hoare triple {7980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {7980#true} is VALID [2022-04-28 10:33:04,776 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-28 10:33:04,776 INFO L272 TraceCheckUtils]: 4: Hoare triple {7980#true} call #t~ret7 := main(); {7980#true} is VALID [2022-04-28 10:33:04,776 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7980#true} {7980#true} #93#return; {7980#true} is VALID [2022-04-28 10:33:04,776 INFO L290 TraceCheckUtils]: 2: Hoare triple {7980#true} assume true; {7980#true} is VALID [2022-04-28 10:33:04,776 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-28 10:33:04,776 INFO L272 TraceCheckUtils]: 0: Hoare triple {7980#true} call ULTIMATE.init(); {7980#true} is VALID [2022-04-28 10:33:04,776 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-28 10:33:04,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [169601645] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:04,777 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:04,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 15, 15] total 38 [2022-04-28 10:33:04,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:04,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1791147006] [2022-04-28 10:33:04,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1791147006] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:04,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:04,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 10:33:04,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2139421662] [2022-04-28 10:33:04,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:04,777 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-28 10:33:04,777 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:04,778 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-28 10:33:04,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:04,806 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 10:33:04,806 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:04,807 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 10:33:04,807 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=241, Invalid=1165, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 10:33:04,807 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-28 10:33:05,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:05,601 INFO L93 Difference]: Finished difference Result 65 states and 68 transitions. [2022-04-28 10:33:05,601 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 10:33:05,601 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-28 10:33:05,601 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:05,601 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-28 10:33:05,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 60 transitions. [2022-04-28 10:33:05,602 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-28 10:33:05,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 60 transitions. [2022-04-28 10:33:05,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 60 transitions. [2022-04-28 10:33:05,659 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-28 10:33:05,660 INFO L225 Difference]: With dead ends: 65 [2022-04-28 10:33:05,660 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 10:33:05,660 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 65 SyntacticMatches, 5 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 898 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=426, Invalid=2124, Unknown=0, NotChecked=0, Total=2550 [2022-04-28 10:33:05,661 INFO L413 NwaCegarLoop]: 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-28 10:33:05,661 INFO L414 NwaCegarLoop]: 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-28 10:33:05,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 10:33:05,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2022-04-28 10:33:05,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:05,790 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-28 10:33:05,790 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-28 10:33:05,790 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-28 10:33:05,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:05,791 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-04-28 10:33:05,791 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-04-28 10:33:05,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:05,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:05,791 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-28 10:33:05,791 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-28 10:33:05,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:05,792 INFO L93 Difference]: Finished difference Result 55 states and 58 transitions. [2022-04-28 10:33:05,792 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 58 transitions. [2022-04-28 10:33:05,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:05,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:05,792 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:05,792 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:05,792 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-28 10:33:05,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 57 transitions. [2022-04-28 10:33:05,793 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 57 transitions. Word has length 43 [2022-04-28 10:33:05,793 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:05,793 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 57 transitions. [2022-04-28 10:33:05,793 INFO L496 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-28 10:33:05,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 57 transitions. [2022-04-28 10:33:05,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:05,864 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 57 transitions. [2022-04-28 10:33:05,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 10:33:05,864 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:05,864 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:05,882 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:06,065 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 10:33:06,065 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:06,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:06,065 INFO L85 PathProgramCache]: Analyzing trace with hash 912386679, now seen corresponding path program 11 times [2022-04-28 10:33:06,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:06,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1238783332] [2022-04-28 10:33:06,067 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:06,067 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:06,067 INFO L85 PathProgramCache]: Analyzing trace with hash 912386679, now seen corresponding path program 12 times [2022-04-28 10:33:06,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:06,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1336149186] [2022-04-28 10:33:06,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:06,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:06,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:06,110 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:06,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:06,115 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-28 10:33:06,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {8680#true} assume true; {8680#true} is VALID [2022-04-28 10:33:06,115 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8680#true} {8680#true} #93#return; {8680#true} is VALID [2022-04-28 10:33:06,115 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:06,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:06,202 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-28 10:33:06,203 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-28 10:33:06,203 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-28 10:33:06,203 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-28 10:33:06,204 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-28 10:33:06,204 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-28 10:33:06,204 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-28 10:33:06,205 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-28 10:33:06,205 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-28 10:33:06,205 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-28 10:33:06,206 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-28 10:33:06,206 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-28 10:33:06,206 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-28 10:33:06,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {8724#(<= |correct_version_#in~w| 7)} assume true; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-28 10:33:06,207 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-28 10:33:06,208 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:33:06,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:06,283 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-28 10:33:06,283 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-28 10:33:06,284 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-28 10:33:06,284 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-28 10:33:06,284 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-28 10:33:06,285 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-28 10:33:06,285 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-28 10:33:06,286 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-28 10:33:06,286 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-28 10:33:06,286 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-28 10:33:06,287 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-28 10:33:06,287 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-28 10:33:06,287 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-28 10:33:06,287 INFO L290 TraceCheckUtils]: 13: Hoare triple {8731#(<= 8 |student_version_#in~w|)} assume true; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-28 10:33:06,288 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-28 10:33:06,289 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-28 10:33:06,289 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-28 10:33:06,289 INFO L290 TraceCheckUtils]: 2: Hoare triple {8680#true} assume true; {8680#true} is VALID [2022-04-28 10:33:06,289 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8680#true} {8680#true} #93#return; {8680#true} is VALID [2022-04-28 10:33:06,289 INFO L272 TraceCheckUtils]: 4: Hoare triple {8680#true} call #t~ret7 := main(); {8680#true} is VALID [2022-04-28 10:33:06,289 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-28 10:33:06,289 INFO L290 TraceCheckUtils]: 6: Hoare triple {8680#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {8680#true} is VALID [2022-04-28 10:33:06,289 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-28 10:33:06,290 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-28 10:33:06,290 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-28 10:33:06,290 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-28 10:33:06,291 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-28 10:33:06,291 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-28 10:33:06,291 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-28 10:33:06,292 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-28 10:33:06,292 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-28 10:33:06,292 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-28 10:33:06,293 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-28 10:33:06,293 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-28 10:33:06,293 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-28 10:33:06,294 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-28 10:33:06,294 INFO L290 TraceCheckUtils]: 21: Hoare triple {8724#(<= |correct_version_#in~w| 7)} assume true; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-28 10:33:06,295 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-28 10:33:06,295 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-28 10:33:06,295 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-28 10:33:06,295 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-28 10:33:06,296 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-28 10:33:06,296 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-28 10:33:06,296 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-28 10:33:06,297 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-28 10:33:06,297 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-28 10:33:06,297 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-28 10:33:06,298 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-28 10:33:06,298 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-28 10:33:06,298 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-28 10:33:06,299 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-28 10:33:06,299 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-28 10:33:06,299 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-28 10:33:06,299 INFO L290 TraceCheckUtils]: 38: Hoare triple {8731#(<= 8 |student_version_#in~w|)} assume true; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-28 10:33:06,300 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-28 10:33:06,300 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-28 10:33:06,300 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-28 10:33:06,300 INFO L290 TraceCheckUtils]: 42: Hoare triple {8681#false} ~cond := #in~cond; {8681#false} is VALID [2022-04-28 10:33:06,300 INFO L290 TraceCheckUtils]: 43: Hoare triple {8681#false} assume 0 == ~cond; {8681#false} is VALID [2022-04-28 10:33:06,300 INFO L290 TraceCheckUtils]: 44: Hoare triple {8681#false} assume !false; {8681#false} is VALID [2022-04-28 10:33:06,301 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-28 10:33:06,301 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:06,301 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1336149186] [2022-04-28 10:33:06,301 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1336149186] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:06,301 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1185966568] [2022-04-28 10:33:06,301 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:33:06,301 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:06,301 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:06,302 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:06,302 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 10:33:06,344 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:33:06,345 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:06,345 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 10:33:06,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:06,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:06,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {8680#true} call ULTIMATE.init(); {8680#true} is VALID [2022-04-28 10:33:06,945 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-28 10:33:06,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {8680#true} assume true; {8680#true} is VALID [2022-04-28 10:33:06,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8680#true} {8680#true} #93#return; {8680#true} is VALID [2022-04-28 10:33:06,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {8680#true} call #t~ret7 := main(); {8680#true} is VALID [2022-04-28 10:33:06,946 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-28 10:33:06,946 INFO L290 TraceCheckUtils]: 6: Hoare triple {8680#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {8680#true} is VALID [2022-04-28 10:33:06,946 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-28 10:33:06,946 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-28 10:33:06,946 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-28 10:33:06,947 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-28 10:33:06,947 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-28 10:33:06,948 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-28 10:33:06,948 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-28 10:33:06,948 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-28 10:33:06,949 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-28 10:33:06,949 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-28 10:33:06,949 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-28 10:33:06,950 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-28 10:33:06,950 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-28 10:33:06,950 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-28 10:33:06,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {8724#(<= |correct_version_#in~w| 7)} assume true; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-28 10:33:06,951 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-28 10:33:06,952 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-28 10:33:06,952 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-28 10:33:06,952 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-28 10:33:06,953 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-28 10:33:06,953 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-28 10:33:06,953 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-28 10:33:06,954 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-28 10:33:06,954 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-28 10:33:06,954 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-28 10:33:06,955 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-28 10:33:06,955 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-28 10:33:06,955 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-28 10:33:06,956 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-28 10:33:06,956 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-28 10:33:06,956 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-28 10:33:06,957 INFO L290 TraceCheckUtils]: 38: Hoare triple {8731#(<= 8 |student_version_#in~w|)} assume true; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-28 10:33:06,957 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-28 10:33:06,957 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-28 10:33:06,958 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-28 10:33:06,958 INFO L290 TraceCheckUtils]: 42: Hoare triple {8681#false} ~cond := #in~cond; {8681#false} is VALID [2022-04-28 10:33:06,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {8681#false} assume 0 == ~cond; {8681#false} is VALID [2022-04-28 10:33:06,958 INFO L290 TraceCheckUtils]: 44: Hoare triple {8681#false} assume !false; {8681#false} is VALID [2022-04-28 10:33:06,958 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-28 10:33:06,958 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:13,401 INFO L290 TraceCheckUtils]: 44: Hoare triple {8681#false} assume !false; {8681#false} is VALID [2022-04-28 10:33:13,401 INFO L290 TraceCheckUtils]: 43: Hoare triple {8681#false} assume 0 == ~cond; {8681#false} is VALID [2022-04-28 10:33:13,401 INFO L290 TraceCheckUtils]: 42: Hoare triple {8681#false} ~cond := #in~cond; {8681#false} is VALID [2022-04-28 10:33:13,402 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-28 10:33:13,402 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-28 10:33:13,402 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-28 10:33:13,403 INFO L290 TraceCheckUtils]: 38: Hoare triple {8731#(<= 8 |student_version_#in~w|)} assume true; {8731#(<= 8 |student_version_#in~w|)} is VALID [2022-04-28 10:33:13,403 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-28 10:33:13,403 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-28 10:33:13,404 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-28 10:33:13,404 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-28 10:33:13,404 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-28 10:33:13,405 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-28 10:33:13,405 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-28 10:33:13,405 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-28 10:33:13,406 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-28 10:33:13,406 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-28 10:33:13,406 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-28 10:33:13,407 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-28 10:33:13,407 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-28 10:33:13,407 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-28 10:33:13,407 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-28 10:33:13,408 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-28 10:33:13,408 INFO L290 TraceCheckUtils]: 21: Hoare triple {8724#(<= |correct_version_#in~w| 7)} assume true; {8724#(<= |correct_version_#in~w| 7)} is VALID [2022-04-28 10:33:13,409 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-28 10:33:13,409 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-28 10:33:13,409 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-28 10:33:13,410 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-28 10:33:13,410 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-28 10:33:13,410 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-28 10:33:13,411 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-28 10:33:13,411 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-28 10:33:13,411 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-28 10:33:13,412 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-28 10:33:13,412 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-28 10:33:13,412 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-28 10:33:13,413 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-28 10:33:13,413 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-28 10:33:13,413 INFO L290 TraceCheckUtils]: 6: Hoare triple {8680#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {8680#true} is VALID [2022-04-28 10:33:13,413 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-28 10:33:13,413 INFO L272 TraceCheckUtils]: 4: Hoare triple {8680#true} call #t~ret7 := main(); {8680#true} is VALID [2022-04-28 10:33:13,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8680#true} {8680#true} #93#return; {8680#true} is VALID [2022-04-28 10:33:13,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {8680#true} assume true; {8680#true} is VALID [2022-04-28 10:33:13,413 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-28 10:33:13,413 INFO L272 TraceCheckUtils]: 0: Hoare triple {8680#true} call ULTIMATE.init(); {8680#true} is VALID [2022-04-28 10:33:13,413 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-28 10:33:13,414 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1185966568] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:13,414 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:13,414 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 45 [2022-04-28 10:33:13,414 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:13,414 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1238783332] [2022-04-28 10:33:13,414 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1238783332] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:13,414 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:13,414 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 10:33:13,414 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2119307145] [2022-04-28 10:33:13,414 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:13,414 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-28 10:33:13,415 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:13,415 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-28 10:33:13,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:13,442 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 10:33:13,442 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:13,442 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 10:33:13,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=317, Invalid=1663, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 10:33:13,443 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-28 10:33:14,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:14,557 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2022-04-28 10:33:14,557 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 10:33:14,557 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-28 10:33:14,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:14,557 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-28 10:33:14,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 76 transitions. [2022-04-28 10:33:14,558 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-28 10:33:14,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 76 transitions. [2022-04-28 10:33:14,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 76 transitions. [2022-04-28 10:33:14,622 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-28 10:33:14,622 INFO L225 Difference]: With dead ends: 74 [2022-04-28 10:33:14,622 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 10:33:14,623 INFO L412 NwaCegarLoop]: 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-28 10:33:14,624 INFO L413 NwaCegarLoop]: 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:14,624 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [78 Valid, 77 Invalid, 461 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 438 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:33:14,624 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 10:33:14,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 57. [2022-04-28 10:33:14,769 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:14,769 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-28 10:33:14,769 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-28 10:33:14,769 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-28 10:33:14,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:14,770 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 10:33:14,770 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2022-04-28 10:33:14,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:14,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:14,771 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-28 10:33:14,771 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-28 10:33:14,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:14,771 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 10:33:14,771 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2022-04-28 10:33:14,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:14,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:14,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:14,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:14,772 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-28 10:33:14,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 61 transitions. [2022-04-28 10:33:14,773 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 61 transitions. Word has length 45 [2022-04-28 10:33:14,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:14,773 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 61 transitions. [2022-04-28 10:33:14,773 INFO L496 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-28 10:33:14,773 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 61 transitions. [2022-04-28 10:33:14,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:14,850 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2022-04-28 10:33:14,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 10:33:14,850 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:14,850 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:14,868 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:15,050 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 10:33:15,051 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:15,051 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:15,051 INFO L85 PathProgramCache]: Analyzing trace with hash 294367923, now seen corresponding path program 11 times [2022-04-28 10:33:15,051 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:15,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1266567222] [2022-04-28 10:33:15,053 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:15,053 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:15,054 INFO L85 PathProgramCache]: Analyzing trace with hash 294367923, now seen corresponding path program 12 times [2022-04-28 10:33:15,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:15,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [371249653] [2022-04-28 10:33:15,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:15,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:15,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:15,090 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:15,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:15,095 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-28 10:33:15,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {9447#true} assume true; {9447#true} is VALID [2022-04-28 10:33:15,095 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9447#true} {9447#true} #93#return; {9447#true} is VALID [2022-04-28 10:33:15,095 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:15,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:15,165 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-28 10:33:15,165 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-28 10:33:15,166 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-28 10:33:15,166 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-28 10:33:15,166 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-28 10:33:15,167 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-28 10:33:15,167 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-28 10:33:15,167 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-28 10:33:15,168 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-28 10:33:15,168 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-28 10:33:15,168 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-28 10:33:15,169 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-28 10:33:15,169 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-28 10:33:15,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} assume true; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:15,170 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-28 10:33:15,170 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:33:15,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:15,289 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-28 10:33:15,290 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-28 10:33:15,290 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-28 10:33:15,291 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-28 10:33:15,291 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-28 10:33:15,291 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-28 10:33:15,292 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-28 10:33:15,292 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-28 10:33:15,292 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-28 10:33:15,293 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-28 10:33:15,293 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-28 10:33:15,294 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-28 10:33:15,294 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-28 10:33:15,294 INFO L290 TraceCheckUtils]: 13: Hoare triple {9498#(<= |student_version_#in~w| 7)} assume true; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-28 10:33:15,295 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-28 10:33:15,295 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-28 10:33:15,296 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-28 10:33:15,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {9447#true} assume true; {9447#true} is VALID [2022-04-28 10:33:15,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9447#true} {9447#true} #93#return; {9447#true} is VALID [2022-04-28 10:33:15,296 INFO L272 TraceCheckUtils]: 4: Hoare triple {9447#true} call #t~ret7 := main(); {9447#true} is VALID [2022-04-28 10:33:15,296 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-28 10:33:15,296 INFO L290 TraceCheckUtils]: 6: Hoare triple {9447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {9447#true} is VALID [2022-04-28 10:33:15,296 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-28 10:33:15,296 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-28 10:33:15,296 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-28 10:33:15,297 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-28 10:33:15,297 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-28 10:33:15,297 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-28 10:33:15,298 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-28 10:33:15,298 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-28 10:33:15,299 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-28 10:33:15,299 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-28 10:33:15,299 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-28 10:33:15,300 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-28 10:33:15,300 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-28 10:33:15,300 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-28 10:33:15,300 INFO L290 TraceCheckUtils]: 21: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} assume true; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:15,301 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-28 10:33:15,301 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-28 10:33:15,302 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-28 10:33:15,302 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-28 10:33:15,302 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-28 10:33:15,302 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-28 10:33:15,303 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-28 10:33:15,303 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-28 10:33:15,303 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-28 10:33:15,304 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-28 10:33:15,304 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-28 10:33:15,304 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-28 10:33:15,305 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-28 10:33:15,305 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-28 10:33:15,306 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-28 10:33:15,306 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-28 10:33:15,306 INFO L290 TraceCheckUtils]: 38: Hoare triple {9498#(<= |student_version_#in~w| 7)} assume true; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-28 10:33:15,307 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-28 10:33:15,307 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-28 10:33:15,307 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-28 10:33:15,307 INFO L290 TraceCheckUtils]: 42: Hoare triple {9448#false} ~cond := #in~cond; {9448#false} is VALID [2022-04-28 10:33:15,307 INFO L290 TraceCheckUtils]: 43: Hoare triple {9448#false} assume 0 == ~cond; {9448#false} is VALID [2022-04-28 10:33:15,307 INFO L290 TraceCheckUtils]: 44: Hoare triple {9448#false} assume !false; {9448#false} is VALID [2022-04-28 10:33:15,307 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-28 10:33:15,307 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:15,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [371249653] [2022-04-28 10:33:15,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [371249653] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:15,308 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [432471480] [2022-04-28 10:33:15,308 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:33:15,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:15,308 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:15,309 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:15,309 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 10:33:15,349 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 10:33:15,349 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:15,350 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 10:33:15,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:15,361 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:16,219 INFO L272 TraceCheckUtils]: 0: Hoare triple {9447#true} call ULTIMATE.init(); {9447#true} is VALID [2022-04-28 10:33:16,219 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-28 10:33:16,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {9447#true} assume true; {9447#true} is VALID [2022-04-28 10:33:16,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9447#true} {9447#true} #93#return; {9447#true} is VALID [2022-04-28 10:33:16,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {9447#true} call #t~ret7 := main(); {9447#true} is VALID [2022-04-28 10:33:16,220 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-28 10:33:16,220 INFO L290 TraceCheckUtils]: 6: Hoare triple {9447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {9447#true} is VALID [2022-04-28 10:33:16,220 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-28 10:33:16,222 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-28 10:33:16,223 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-28 10:33:16,223 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-28 10:33:16,223 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-28 10:33:16,224 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-28 10:33:16,224 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-28 10:33:16,225 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-28 10:33:16,225 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-28 10:33:16,225 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-28 10:33:16,226 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-28 10:33:16,226 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-28 10:33:16,226 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-28 10:33:16,227 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-28 10:33:16,227 INFO L290 TraceCheckUtils]: 21: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} assume true; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:16,228 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-28 10:33:16,228 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-28 10:33:16,228 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-28 10:33:16,228 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-28 10:33:16,229 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-28 10:33:16,229 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-28 10:33:16,229 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-28 10:33:16,230 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-28 10:33:16,230 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-28 10:33:16,230 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-28 10:33:16,231 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-28 10:33:16,231 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-28 10:33:16,232 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-28 10:33:16,232 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-28 10:33:16,232 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-28 10:33:16,233 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-28 10:33:16,233 INFO L290 TraceCheckUtils]: 38: Hoare triple {9498#(<= |student_version_#in~w| 7)} assume true; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-28 10:33:16,234 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-28 10:33:16,234 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-28 10:33:16,234 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-28 10:33:16,234 INFO L290 TraceCheckUtils]: 42: Hoare triple {9448#false} ~cond := #in~cond; {9448#false} is VALID [2022-04-28 10:33:16,234 INFO L290 TraceCheckUtils]: 43: Hoare triple {9448#false} assume 0 == ~cond; {9448#false} is VALID [2022-04-28 10:33:16,234 INFO L290 TraceCheckUtils]: 44: Hoare triple {9448#false} assume !false; {9448#false} is VALID [2022-04-28 10:33:16,234 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-28 10:33:16,234 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:22,409 INFO L290 TraceCheckUtils]: 44: Hoare triple {9448#false} assume !false; {9448#false} is VALID [2022-04-28 10:33:22,409 INFO L290 TraceCheckUtils]: 43: Hoare triple {9448#false} assume 0 == ~cond; {9448#false} is VALID [2022-04-28 10:33:22,409 INFO L290 TraceCheckUtils]: 42: Hoare triple {9448#false} ~cond := #in~cond; {9448#false} is VALID [2022-04-28 10:33:22,409 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-28 10:33:22,409 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-28 10:33:22,410 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-28 10:33:22,410 INFO L290 TraceCheckUtils]: 38: Hoare triple {9498#(<= |student_version_#in~w| 7)} assume true; {9498#(<= |student_version_#in~w| 7)} is VALID [2022-04-28 10:33:22,410 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-28 10:33:22,411 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-28 10:33:22,411 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-28 10:33:22,411 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-28 10:33:22,412 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-28 10:33:22,412 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-28 10:33:22,412 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-28 10:33:22,413 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-28 10:33:22,413 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-28 10:33:22,414 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-28 10:33:22,414 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-28 10:33:22,414 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-28 10:33:22,415 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-28 10:33:22,415 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-28 10:33:22,415 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-28 10:33:22,416 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-28 10:33:22,416 INFO L290 TraceCheckUtils]: 21: Hoare triple {9490#(<= 8 |correct_version_#in~w|)} assume true; {9490#(<= 8 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:22,416 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-28 10:33:22,417 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-28 10:33:22,417 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-28 10:33:22,417 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-28 10:33:22,418 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-28 10:33:22,418 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-28 10:33:22,418 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-28 10:33:22,419 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-28 10:33:22,419 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-28 10:33:22,419 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-28 10:33:22,420 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-28 10:33:22,420 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-28 10:33:22,420 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-28 10:33:22,420 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-28 10:33:22,421 INFO L290 TraceCheckUtils]: 6: Hoare triple {9447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {9447#true} is VALID [2022-04-28 10:33:22,421 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-28 10:33:22,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {9447#true} call #t~ret7 := main(); {9447#true} is VALID [2022-04-28 10:33:22,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9447#true} {9447#true} #93#return; {9447#true} is VALID [2022-04-28 10:33:22,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {9447#true} assume true; {9447#true} is VALID [2022-04-28 10:33:22,421 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-28 10:33:22,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {9447#true} call ULTIMATE.init(); {9447#true} is VALID [2022-04-28 10:33:22,421 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-28 10:33:22,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [432471480] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:22,421 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:22,421 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 18] total 45 [2022-04-28 10:33:22,421 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:22,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1266567222] [2022-04-28 10:33:22,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1266567222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:22,422 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:22,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 10:33:22,422 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1815009019] [2022-04-28 10:33:22,422 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:22,422 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-28 10:33:22,422 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:22,422 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-28 10:33:22,459 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:22,459 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 10:33:22,459 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:22,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 10:33:22,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=317, Invalid=1663, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 10:33:22,460 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-28 10:33:23,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:23,347 INFO L93 Difference]: Finished difference Result 69 states and 74 transitions. [2022-04-28 10:33:23,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 10:33:23,347 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-28 10:33:23,347 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:23,347 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-28 10:33:23,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 69 transitions. [2022-04-28 10:33:23,348 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-28 10:33:23,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 69 transitions. [2022-04-28 10:33:23,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 69 transitions. [2022-04-28 10:33:23,401 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:23,402 INFO L225 Difference]: With dead ends: 69 [2022-04-28 10:33:23,402 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 10:33:23,403 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 63 SyntacticMatches, 5 SemanticMatches, 59 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1335 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=572, Invalid=3088, Unknown=0, NotChecked=0, Total=3660 [2022-04-28 10:33:23,403 INFO L413 NwaCegarLoop]: 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-28 10:33:23,403 INFO L414 NwaCegarLoop]: 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-28 10:33:23,404 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 10:33:23,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-04-28 10:33:23,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:23,601 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-28 10:33:23,601 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-28 10:33:23,601 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-28 10:33:23,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:23,602 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-04-28 10:33:23,602 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-04-28 10:33:23,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:23,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:23,604 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-28 10:33:23,604 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-28 10:33:23,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:23,605 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-04-28 10:33:23,605 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-04-28 10:33:23,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:23,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:23,605 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:23,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:23,605 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-28 10:33:23,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 65 transitions. [2022-04-28 10:33:23,606 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 65 transitions. Word has length 45 [2022-04-28 10:33:23,606 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:23,606 INFO L495 AbstractCegarLoop]: Abstraction has 60 states and 65 transitions. [2022-04-28 10:33:23,607 INFO L496 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-28 10:33:23,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 65 transitions. [2022-04-28 10:33:23,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:23,710 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-04-28 10:33:23,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 10:33:23,710 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:23,710 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:23,728 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:23,910 WARN L477 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-28 10:33:23,911 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:23,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:23,911 INFO L85 PathProgramCache]: Analyzing trace with hash 1987478709, now seen corresponding path program 13 times [2022-04-28 10:33:23,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:23,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1021383575] [2022-04-28 10:33:23,914 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:23,914 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:23,914 INFO L85 PathProgramCache]: Analyzing trace with hash 1987478709, now seen corresponding path program 14 times [2022-04-28 10:33:23,914 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:23,914 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [227538931] [2022-04-28 10:33:23,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:23,915 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:23,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:23,979 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:23,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:23,982 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-28 10:33:23,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {10204#true} assume true; {10204#true} is VALID [2022-04-28 10:33:23,982 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10204#true} {10204#true} #93#return; {10204#true} is VALID [2022-04-28 10:33:23,982 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:23,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:24,081 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-28 10:33:24,081 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-28 10:33:24,082 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-28 10:33:24,082 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-28 10:33:24,082 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-28 10:33:24,083 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-28 10:33:24,083 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-28 10:33:24,084 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-28 10:33:24,084 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-28 10:33:24,085 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-28 10:33:24,085 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-28 10:33:24,085 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-28 10:33:24,086 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-28 10:33:24,086 INFO L290 TraceCheckUtils]: 13: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume true; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-28 10:33:24,087 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-28 10:33:24,087 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 10:33:24,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:24,195 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-28 10:33:24,195 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-28 10:33:24,196 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-28 10:33:24,196 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-28 10:33:24,196 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-28 10:33:24,197 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-28 10:33:24,197 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-28 10:33:24,198 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-28 10:33:24,198 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-28 10:33:24,198 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-28 10:33:24,199 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-28 10:33:24,199 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-28 10:33:24,199 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-28 10:33:24,200 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-28 10:33:24,200 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-28 10:33:24,200 INFO L290 TraceCheckUtils]: 15: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume true; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-28 10:33:24,201 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-28 10:33:24,202 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-28 10:33:24,202 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-28 10:33:24,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {10204#true} assume true; {10204#true} is VALID [2022-04-28 10:33:24,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10204#true} {10204#true} #93#return; {10204#true} is VALID [2022-04-28 10:33:24,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {10204#true} call #t~ret7 := main(); {10204#true} is VALID [2022-04-28 10:33:24,202 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-28 10:33:24,202 INFO L290 TraceCheckUtils]: 6: Hoare triple {10204#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10204#true} is VALID [2022-04-28 10:33:24,202 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-28 10:33:24,202 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-28 10:33:24,203 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-28 10:33:24,203 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-28 10:33:24,203 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-28 10:33:24,204 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-28 10:33:24,204 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-28 10:33:24,205 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-28 10:33:24,205 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-28 10:33:24,205 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-28 10:33:24,206 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-28 10:33:24,206 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-28 10:33:24,207 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-28 10:33:24,207 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-28 10:33:24,207 INFO L290 TraceCheckUtils]: 21: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume true; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-28 10:33:24,208 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-28 10:33:24,209 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-28 10:33:24,209 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-28 10:33:24,209 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-28 10:33:24,209 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-28 10:33:24,210 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-28 10:33:24,210 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-28 10:33:24,211 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-28 10:33:24,211 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-28 10:33:24,211 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-28 10:33:24,212 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-28 10:33:24,212 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-28 10:33:24,213 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-28 10:33:24,213 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-28 10:33:24,213 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-28 10:33:24,214 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-28 10:33:24,214 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-28 10:33:24,214 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-28 10:33:24,215 INFO L290 TraceCheckUtils]: 40: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume true; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-28 10:33:24,216 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-28 10:33:24,216 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-28 10:33:24,216 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-28 10:33:24,216 INFO L290 TraceCheckUtils]: 44: Hoare triple {10205#false} ~cond := #in~cond; {10205#false} is VALID [2022-04-28 10:33:24,216 INFO L290 TraceCheckUtils]: 45: Hoare triple {10205#false} assume 0 == ~cond; {10205#false} is VALID [2022-04-28 10:33:24,216 INFO L290 TraceCheckUtils]: 46: Hoare triple {10205#false} assume !false; {10205#false} is VALID [2022-04-28 10:33:24,216 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-28 10:33:24,216 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:24,216 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [227538931] [2022-04-28 10:33:24,216 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [227538931] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:24,216 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1516209808] [2022-04-28 10:33:24,216 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:33:24,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:24,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:24,217 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:24,218 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 10:33:24,259 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:33:24,259 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:24,260 INFO L263 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 10:33:24,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:24,270 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:24,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {10204#true} call ULTIMATE.init(); {10204#true} is VALID [2022-04-28 10:33:24,839 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-28 10:33:24,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {10204#true} assume true; {10204#true} is VALID [2022-04-28 10:33:24,840 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10204#true} {10204#true} #93#return; {10204#true} is VALID [2022-04-28 10:33:24,840 INFO L272 TraceCheckUtils]: 4: Hoare triple {10204#true} call #t~ret7 := main(); {10204#true} is VALID [2022-04-28 10:33:24,840 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-28 10:33:24,840 INFO L290 TraceCheckUtils]: 6: Hoare triple {10204#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10204#true} is VALID [2022-04-28 10:33:24,840 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-28 10:33:24,840 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-28 10:33:24,840 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-28 10:33:24,841 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-28 10:33:24,841 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-28 10:33:24,842 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-28 10:33:24,842 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-28 10:33:24,842 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-28 10:33:24,843 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-28 10:33:24,843 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-28 10:33:24,844 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-28 10:33:24,844 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-28 10:33:24,844 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-28 10:33:24,845 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-28 10:33:24,845 INFO L290 TraceCheckUtils]: 21: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume true; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-28 10:33:24,846 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-28 10:33:24,846 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-28 10:33:24,846 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-28 10:33:24,846 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-28 10:33:24,847 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-28 10:33:24,847 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-28 10:33:24,848 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-28 10:33:24,848 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-28 10:33:24,848 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-28 10:33:24,849 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-28 10:33:24,849 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-28 10:33:24,850 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-28 10:33:24,850 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-28 10:33:24,850 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-28 10:33:24,851 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-28 10:33:24,851 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-28 10:33:24,851 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-28 10:33:24,851 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-28 10:33:24,852 INFO L290 TraceCheckUtils]: 40: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume true; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-28 10:33:24,853 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-28 10:33:24,853 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-28 10:33:24,853 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-28 10:33:24,853 INFO L290 TraceCheckUtils]: 44: Hoare triple {10205#false} ~cond := #in~cond; {10205#false} is VALID [2022-04-28 10:33:24,853 INFO L290 TraceCheckUtils]: 45: Hoare triple {10205#false} assume 0 == ~cond; {10205#false} is VALID [2022-04-28 10:33:24,853 INFO L290 TraceCheckUtils]: 46: Hoare triple {10205#false} assume !false; {10205#false} is VALID [2022-04-28 10:33:24,853 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-28 10:33:24,853 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:28,074 INFO L290 TraceCheckUtils]: 46: Hoare triple {10205#false} assume !false; {10205#false} is VALID [2022-04-28 10:33:28,074 INFO L290 TraceCheckUtils]: 45: Hoare triple {10205#false} assume 0 == ~cond; {10205#false} is VALID [2022-04-28 10:33:28,074 INFO L290 TraceCheckUtils]: 44: Hoare triple {10205#false} ~cond := #in~cond; {10205#false} is VALID [2022-04-28 10:33:28,074 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-28 10:33:28,074 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-28 10:33:28,075 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-28 10:33:28,075 INFO L290 TraceCheckUtils]: 40: Hoare triple {10258#(<= 9 |student_version_#in~w|)} assume true; {10258#(<= 9 |student_version_#in~w|)} is VALID [2022-04-28 10:33:28,075 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-28 10:33:28,076 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-28 10:33:28,076 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-28 10:33:28,076 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-28 10:33:28,076 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-28 10:33:28,077 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-28 10:33:28,077 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-28 10:33:28,077 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-28 10:33:28,078 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-28 10:33:28,078 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-28 10:33:28,079 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-28 10:33:28,079 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-28 10:33:28,079 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-28 10:33:28,080 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-28 10:33:28,080 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-28 10:33:28,080 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-28 10:33:28,081 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-28 10:33:28,081 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-28 10:33:28,081 INFO L290 TraceCheckUtils]: 21: Hoare triple {10250#(<= |correct_version_#in~w| 8)} assume true; {10250#(<= |correct_version_#in~w| 8)} is VALID [2022-04-28 10:33:28,082 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-28 10:33:28,082 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-28 10:33:28,082 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-28 10:33:28,083 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-28 10:33:28,083 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-28 10:33:28,083 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-28 10:33:28,084 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-28 10:33:28,084 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-28 10:33:28,084 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-28 10:33:28,085 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-28 10:33:28,085 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-28 10:33:28,085 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-28 10:33:28,086 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-28 10:33:28,086 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-28 10:33:28,086 INFO L290 TraceCheckUtils]: 6: Hoare triple {10204#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10204#true} is VALID [2022-04-28 10:33:28,086 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-28 10:33:28,086 INFO L272 TraceCheckUtils]: 4: Hoare triple {10204#true} call #t~ret7 := main(); {10204#true} is VALID [2022-04-28 10:33:28,086 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10204#true} {10204#true} #93#return; {10204#true} is VALID [2022-04-28 10:33:28,086 INFO L290 TraceCheckUtils]: 2: Hoare triple {10204#true} assume true; {10204#true} is VALID [2022-04-28 10:33:28,086 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-28 10:33:28,086 INFO L272 TraceCheckUtils]: 0: Hoare triple {10204#true} call ULTIMATE.init(); {10204#true} is VALID [2022-04-28 10:33:28,086 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-28 10:33:28,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1516209808] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:28,087 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:28,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 17, 17] total 44 [2022-04-28 10:33:28,087 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:28,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1021383575] [2022-04-28 10:33:28,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1021383575] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:28,087 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:28,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 10:33:28,087 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [841443940] [2022-04-28 10:33:28,087 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:28,087 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-28 10:33:28,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:28,088 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-28 10:33:28,117 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:28,117 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 10:33:28,117 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:28,117 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 10:33:28,117 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=321, Invalid=1571, Unknown=0, NotChecked=0, Total=1892 [2022-04-28 10:33:28,118 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-28 10:33:29,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:29,177 INFO L93 Difference]: Finished difference Result 75 states and 80 transitions. [2022-04-28 10:33:29,177 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 10:33:29,178 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-28 10:33:29,178 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:29,178 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-28 10:33:29,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 72 transitions. [2022-04-28 10:33:29,179 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-28 10:33:29,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 72 transitions. [2022-04-28 10:33:29,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 72 transitions. [2022-04-28 10:33:29,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:29,235 INFO L225 Difference]: With dead ends: 75 [2022-04-28 10:33:29,235 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 10:33:29,236 INFO L412 NwaCegarLoop]: 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-28 10:33:29,237 INFO L413 NwaCegarLoop]: 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-28 10:33:29,237 INFO L414 NwaCegarLoop]: 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-28 10:33:29,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 10:33:29,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-28 10:33:29,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:29,429 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-28 10:33:29,429 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-28 10:33:29,429 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-28 10:33:29,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:29,430 INFO L93 Difference]: Finished difference Result 63 states and 67 transitions. [2022-04-28 10:33:29,430 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 67 transitions. [2022-04-28 10:33:29,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:29,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:29,430 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-28 10:33:29,430 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-28 10:33:29,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:29,431 INFO L93 Difference]: Finished difference Result 63 states and 67 transitions. [2022-04-28 10:33:29,431 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 67 transitions. [2022-04-28 10:33:29,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:29,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:29,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:29,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:29,431 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-28 10:33:29,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 63 transitions. [2022-04-28 10:33:29,432 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 63 transitions. Word has length 47 [2022-04-28 10:33:29,432 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:29,432 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 63 transitions. [2022-04-28 10:33:29,432 INFO L496 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-28 10:33:29,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 63 transitions. [2022-04-28 10:33:29,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:29,507 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2022-04-28 10:33:29,508 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 10:33:29,508 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:29,508 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:29,526 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:29,708 WARN L477 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-28 10:33:29,708 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:29,709 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:29,709 INFO L85 PathProgramCache]: Analyzing trace with hash -2094039019, now seen corresponding path program 13 times [2022-04-28 10:33:29,709 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:29,709 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [380299554] [2022-04-28 10:33:29,711 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:29,711 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:29,711 INFO L85 PathProgramCache]: Analyzing trace with hash -2094039019, now seen corresponding path program 14 times [2022-04-28 10:33:29,711 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:29,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [680071916] [2022-04-28 10:33:29,711 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:29,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:29,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:29,750 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:29,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:29,756 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-28 10:33:29,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {10988#true} assume true; {10988#true} is VALID [2022-04-28 10:33:29,756 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10988#true} {10988#true} #93#return; {10988#true} is VALID [2022-04-28 10:33:29,757 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:29,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:29,861 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-28 10:33:29,861 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-28 10:33:29,861 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-28 10:33:29,862 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-28 10:33:29,862 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-28 10:33:29,862 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-28 10:33:29,863 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-28 10:33:29,863 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-28 10:33:29,863 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-28 10:33:29,864 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-28 10:33:29,864 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-28 10:33:29,865 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-28 10:33:29,865 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-28 10:33:29,865 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-28 10:33:29,865 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-28 10:33:29,866 INFO L290 TraceCheckUtils]: 15: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume true; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:29,866 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-28 10:33:29,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:33:29,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:29,966 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-28 10:33:29,966 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-28 10:33:29,966 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-28 10:33:29,967 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-28 10:33:29,967 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-28 10:33:29,967 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-28 10:33:29,979 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-28 10:33:29,980 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-28 10:33:29,980 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-28 10:33:29,981 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-28 10:33:29,981 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-28 10:33:29,981 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-28 10:33:29,982 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-28 10:33:29,982 INFO L290 TraceCheckUtils]: 13: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume true; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-28 10:33:29,983 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-28 10:33:29,983 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-28 10:33:29,983 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-28 10:33:29,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {10988#true} assume true; {10988#true} is VALID [2022-04-28 10:33:29,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10988#true} {10988#true} #93#return; {10988#true} is VALID [2022-04-28 10:33:29,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {10988#true} call #t~ret7 := main(); {10988#true} is VALID [2022-04-28 10:33:29,984 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-28 10:33:29,984 INFO L290 TraceCheckUtils]: 6: Hoare triple {10988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10988#true} is VALID [2022-04-28 10:33:29,984 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-28 10:33:29,984 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-28 10:33:29,984 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-28 10:33:29,984 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-28 10:33:29,985 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-28 10:33:29,985 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-28 10:33:29,986 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-28 10:33:29,986 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-28 10:33:29,986 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-28 10:33:29,987 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-28 10:33:29,987 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-28 10:33:29,987 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-28 10:33:29,988 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-28 10:33:29,988 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-28 10:33:29,988 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-28 10:33:29,988 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-28 10:33:29,989 INFO L290 TraceCheckUtils]: 23: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume true; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:29,989 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-28 10:33:29,990 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-28 10:33:29,990 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-28 10:33:29,990 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-28 10:33:29,990 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-28 10:33:29,991 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-28 10:33:29,991 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-28 10:33:29,991 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-28 10:33:29,992 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-28 10:33:29,992 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-28 10:33:29,993 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-28 10:33:29,993 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-28 10:33:29,993 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-28 10:33:29,994 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-28 10:33:29,994 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-28 10:33:29,994 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-28 10:33:29,994 INFO L290 TraceCheckUtils]: 40: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume true; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-28 10:33:29,995 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-28 10:33:29,995 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-28 10:33:29,995 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-28 10:33:29,995 INFO L290 TraceCheckUtils]: 44: Hoare triple {10989#false} ~cond := #in~cond; {10989#false} is VALID [2022-04-28 10:33:29,995 INFO L290 TraceCheckUtils]: 45: Hoare triple {10989#false} assume 0 == ~cond; {10989#false} is VALID [2022-04-28 10:33:29,995 INFO L290 TraceCheckUtils]: 46: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-04-28 10:33:29,996 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-28 10:33:29,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:29,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [680071916] [2022-04-28 10:33:29,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [680071916] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:29,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [468391367] [2022-04-28 10:33:29,996 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:33:29,996 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:29,996 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:29,997 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:29,997 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 10:33:30,043 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:33:30,043 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:30,043 INFO L263 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 10:33:30,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:30,056 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:30,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {10988#true} call ULTIMATE.init(); {10988#true} is VALID [2022-04-28 10:33:30,768 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-28 10:33:30,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {10988#true} assume true; {10988#true} is VALID [2022-04-28 10:33:30,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10988#true} {10988#true} #93#return; {10988#true} is VALID [2022-04-28 10:33:30,769 INFO L272 TraceCheckUtils]: 4: Hoare triple {10988#true} call #t~ret7 := main(); {10988#true} is VALID [2022-04-28 10:33:30,769 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-28 10:33:30,769 INFO L290 TraceCheckUtils]: 6: Hoare triple {10988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10988#true} is VALID [2022-04-28 10:33:30,769 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-28 10:33:30,777 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-28 10:33:30,777 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-28 10:33:30,777 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-28 10:33:30,778 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-28 10:33:30,778 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-28 10:33:30,778 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-28 10:33:30,779 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-28 10:33:30,779 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-28 10:33:30,779 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-28 10:33:30,780 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-28 10:33:30,780 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-28 10:33:30,780 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-28 10:33:30,781 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-28 10:33:30,781 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-28 10:33:30,781 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-28 10:33:30,781 INFO L290 TraceCheckUtils]: 23: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume true; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:30,782 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-28 10:33:30,783 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-28 10:33:30,783 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-28 10:33:30,783 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-28 10:33:30,783 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-28 10:33:30,784 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-28 10:33:30,784 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-28 10:33:30,784 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-28 10:33:30,785 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-28 10:33:30,785 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-28 10:33:30,786 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-28 10:33:30,786 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-28 10:33:30,786 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-28 10:33:30,787 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-28 10:33:30,787 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-28 10:33:30,787 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-28 10:33:30,787 INFO L290 TraceCheckUtils]: 40: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume true; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-28 10:33:30,788 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-28 10:33:30,788 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-28 10:33:30,788 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-28 10:33:30,788 INFO L290 TraceCheckUtils]: 44: Hoare triple {10989#false} ~cond := #in~cond; {10989#false} is VALID [2022-04-28 10:33:30,788 INFO L290 TraceCheckUtils]: 45: Hoare triple {10989#false} assume 0 == ~cond; {10989#false} is VALID [2022-04-28 10:33:30,788 INFO L290 TraceCheckUtils]: 46: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-04-28 10:33:30,789 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-28 10:33:30,789 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:33,613 INFO L290 TraceCheckUtils]: 46: Hoare triple {10989#false} assume !false; {10989#false} is VALID [2022-04-28 10:33:33,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {10989#false} assume 0 == ~cond; {10989#false} is VALID [2022-04-28 10:33:33,613 INFO L290 TraceCheckUtils]: 44: Hoare triple {10989#false} ~cond := #in~cond; {10989#false} is VALID [2022-04-28 10:33:33,613 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-28 10:33:33,613 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-28 10:33:33,614 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-28 10:33:33,614 INFO L290 TraceCheckUtils]: 40: Hoare triple {11042#(<= |student_version_#in~w| 8)} assume true; {11042#(<= |student_version_#in~w| 8)} is VALID [2022-04-28 10:33:33,615 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-28 10:33:33,615 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-28 10:33:33,615 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-28 10:33:33,616 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-28 10:33:33,616 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-28 10:33:33,616 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-28 10:33:33,617 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-28 10:33:33,617 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-28 10:33:33,617 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-28 10:33:33,618 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-28 10:33:33,618 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-28 10:33:33,618 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-28 10:33:33,619 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-28 10:33:33,619 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-28 10:33:33,619 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-28 10:33:33,620 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-28 10:33:33,620 INFO L290 TraceCheckUtils]: 23: Hoare triple {11034#(<= 9 |correct_version_#in~w|)} assume true; {11034#(<= 9 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:33,620 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-28 10:33:33,621 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-28 10:33:33,621 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-28 10:33:33,621 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-28 10:33:33,621 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-28 10:33:33,622 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-28 10:33:33,622 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-28 10:33:33,623 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-28 10:33:33,623 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-28 10:33:33,623 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-28 10:33:33,624 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-28 10:33:33,624 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-28 10:33:33,624 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-28 10:33:33,625 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-28 10:33:33,625 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-28 10:33:33,625 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-28 10:33:33,625 INFO L290 TraceCheckUtils]: 6: Hoare triple {10988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {10988#true} is VALID [2022-04-28 10:33:33,625 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-28 10:33:33,625 INFO L272 TraceCheckUtils]: 4: Hoare triple {10988#true} call #t~ret7 := main(); {10988#true} is VALID [2022-04-28 10:33:33,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10988#true} {10988#true} #93#return; {10988#true} is VALID [2022-04-28 10:33:33,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {10988#true} assume true; {10988#true} is VALID [2022-04-28 10:33:33,626 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-28 10:33:33,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {10988#true} call ULTIMATE.init(); {10988#true} is VALID [2022-04-28 10:33:33,626 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-28 10:33:33,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [468391367] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:33,626 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:33,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 17, 17] total 44 [2022-04-28 10:33:33,626 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:33,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [380299554] [2022-04-28 10:33:33,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [380299554] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:33,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:33,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 10:33:33,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1456945609] [2022-04-28 10:33:33,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:33,627 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-28 10:33:33,627 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:33,627 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-28 10:33:33,655 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:33,655 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 10:33:33,655 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:33,655 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 10:33:33,656 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=321, Invalid=1571, Unknown=0, NotChecked=0, Total=1892 [2022-04-28 10:33:33,656 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-28 10:33:34,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:34,549 INFO L93 Difference]: Finished difference Result 69 states and 72 transitions. [2022-04-28 10:33:34,549 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 10:33:34,549 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-28 10:33:34,549 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:34,549 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-28 10:33:34,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 64 transitions. [2022-04-28 10:33:34,550 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-28 10:33:34,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 64 transitions. [2022-04-28 10:33:34,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 64 transitions. [2022-04-28 10:33:34,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:34,616 INFO L225 Difference]: With dead ends: 69 [2022-04-28 10:33:34,616 INFO L226 Difference]: Without dead ends: 59 [2022-04-28 10:33:34,617 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 69 SyntacticMatches, 5 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1280 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=563, Invalid=2859, Unknown=0, NotChecked=0, Total=3422 [2022-04-28 10:33:34,618 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 81 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:34,618 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [82 Valid, 65 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 10:33:34,622 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-28 10:33:34,836 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 58. [2022-04-28 10:33:34,836 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:34,837 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-28 10:33:34,837 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-28 10:33:34,837 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-28 10:33:34,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:34,838 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2022-04-28 10:33:34,838 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 62 transitions. [2022-04-28 10:33:34,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:34,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:34,838 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-28 10:33:34,838 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-28 10:33:34,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:34,839 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2022-04-28 10:33:34,839 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 62 transitions. [2022-04-28 10:33:34,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:34,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:34,839 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:34,839 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:34,839 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-28 10:33:34,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 61 transitions. [2022-04-28 10:33:34,840 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 61 transitions. Word has length 47 [2022-04-28 10:33:34,840 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:34,840 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 61 transitions. [2022-04-28 10:33:34,840 INFO L496 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-28 10:33:34,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 58 states and 61 transitions. [2022-04-28 10:33:34,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:34,924 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 61 transitions. [2022-04-28 10:33:34,925 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 10:33:34,925 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:34,925 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:34,943 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:35,135 WARN L477 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-28 10:33:35,135 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:35,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:35,136 INFO L85 PathProgramCache]: Analyzing trace with hash 219937303, now seen corresponding path program 15 times [2022-04-28 10:33:35,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:35,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1276824890] [2022-04-28 10:33:35,138 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:35,138 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:35,138 INFO L85 PathProgramCache]: Analyzing trace with hash 219937303, now seen corresponding path program 16 times [2022-04-28 10:33:35,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:35,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1682938308] [2022-04-28 10:33:35,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:35,139 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:35,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:35,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:35,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:35,212 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-28 10:33:35,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {11750#true} assume true; {11750#true} is VALID [2022-04-28 10:33:35,212 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11750#true} {11750#true} #93#return; {11750#true} is VALID [2022-04-28 10:33:35,212 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:35,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:35,326 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-28 10:33:35,327 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-28 10:33:35,327 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-28 10:33:35,328 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-28 10:33:35,328 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-28 10:33:35,328 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-28 10:33:35,329 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-28 10:33:35,329 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-28 10:33:35,329 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-28 10:33:35,330 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-28 10:33:35,330 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-28 10:33:35,330 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-28 10:33:35,331 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-28 10:33:35,331 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-28 10:33:35,331 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-28 10:33:35,332 INFO L290 TraceCheckUtils]: 15: Hoare triple {11799#(<= |correct_version_#in~w| 9)} assume true; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-28 10:33:35,332 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-28 10:33:35,333 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:33:35,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:35,424 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-28 10:33:35,424 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-28 10:33:35,425 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-28 10:33:35,425 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-28 10:33:35,425 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-28 10:33:35,426 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-28 10:33:35,426 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-28 10:33:35,426 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-28 10:33:35,427 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-28 10:33:35,427 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-28 10:33:35,427 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-28 10:33:35,428 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-28 10:33:35,428 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-28 10:33:35,428 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-28 10:33:35,429 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-28 10:33:35,429 INFO L290 TraceCheckUtils]: 15: Hoare triple {11807#(<= 10 |student_version_#in~w|)} assume true; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-28 10:33:35,430 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-28 10:33:35,430 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-28 10:33:35,430 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-28 10:33:35,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {11750#true} assume true; {11750#true} is VALID [2022-04-28 10:33:35,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11750#true} {11750#true} #93#return; {11750#true} is VALID [2022-04-28 10:33:35,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {11750#true} call #t~ret7 := main(); {11750#true} is VALID [2022-04-28 10:33:35,431 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-28 10:33:35,431 INFO L290 TraceCheckUtils]: 6: Hoare triple {11750#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {11750#true} is VALID [2022-04-28 10:33:35,431 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-28 10:33:35,431 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-28 10:33:35,431 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-28 10:33:35,432 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-28 10:33:35,432 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-28 10:33:35,432 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-28 10:33:35,433 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-28 10:33:35,433 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-28 10:33:35,433 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-28 10:33:35,434 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-28 10:33:35,434 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-28 10:33:35,434 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-28 10:33:35,435 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-28 10:33:35,435 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-28 10:33:35,436 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-28 10:33:35,436 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-28 10:33:35,436 INFO L290 TraceCheckUtils]: 23: Hoare triple {11799#(<= |correct_version_#in~w| 9)} assume true; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-28 10:33:35,437 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-28 10:33:35,437 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-28 10:33:35,437 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-28 10:33:35,437 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-28 10:33:35,438 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-28 10:33:35,438 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-28 10:33:35,438 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-28 10:33:35,439 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-28 10:33:35,439 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-28 10:33:35,440 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-28 10:33:35,440 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-28 10:33:35,440 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-28 10:33:35,441 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-28 10:33:35,441 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-28 10:33:35,441 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-28 10:33:35,442 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-28 10:33:35,442 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-28 10:33:35,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-28 10:33:35,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-28 10:33:35,443 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-28 10:33:35,443 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-28 10:33:35,443 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-28 10:33:35,443 INFO L290 TraceCheckUtils]: 46: Hoare triple {11751#false} ~cond := #in~cond; {11751#false} is VALID [2022-04-28 10:33:35,443 INFO L290 TraceCheckUtils]: 47: Hoare triple {11751#false} assume 0 == ~cond; {11751#false} is VALID [2022-04-28 10:33:35,443 INFO L290 TraceCheckUtils]: 48: Hoare triple {11751#false} assume !false; {11751#false} is VALID [2022-04-28 10:33:35,444 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-28 10:33:35,444 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:35,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1682938308] [2022-04-28 10:33:35,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1682938308] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:35,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [407580027] [2022-04-28 10:33:35,444 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:33:35,444 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:35,444 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:35,445 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:35,446 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 10:33:35,489 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:33:35,489 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:35,490 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 10:33:35,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:35,504 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:36,147 INFO L272 TraceCheckUtils]: 0: Hoare triple {11750#true} call ULTIMATE.init(); {11750#true} is VALID [2022-04-28 10:33:36,148 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-28 10:33:36,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {11750#true} assume true; {11750#true} is VALID [2022-04-28 10:33:36,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11750#true} {11750#true} #93#return; {11750#true} is VALID [2022-04-28 10:33:36,148 INFO L272 TraceCheckUtils]: 4: Hoare triple {11750#true} call #t~ret7 := main(); {11750#true} is VALID [2022-04-28 10:33:36,148 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-28 10:33:36,148 INFO L290 TraceCheckUtils]: 6: Hoare triple {11750#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {11750#true} is VALID [2022-04-28 10:33:36,148 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-28 10:33:36,148 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-28 10:33:36,149 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-28 10:33:36,149 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-28 10:33:36,150 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-28 10:33:36,150 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-28 10:33:36,150 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-28 10:33:36,151 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-28 10:33:36,151 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-28 10:33:36,152 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-28 10:33:36,152 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-28 10:33:36,152 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-28 10:33:36,153 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-28 10:33:36,153 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-28 10:33:36,154 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-28 10:33:36,154 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-28 10:33:36,154 INFO L290 TraceCheckUtils]: 23: Hoare triple {11799#(<= |correct_version_#in~w| 9)} assume true; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-28 10:33:36,155 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-28 10:33:36,155 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-28 10:33:36,155 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-28 10:33:36,156 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-28 10:33:36,156 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-28 10:33:36,156 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-28 10:33:36,157 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-28 10:33:36,157 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-28 10:33:36,158 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-28 10:33:36,158 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-28 10:33:36,158 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-28 10:33:36,159 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-28 10:33:36,159 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-28 10:33:36,159 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-28 10:33:36,160 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-28 10:33:36,160 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-28 10:33:36,160 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-28 10:33:36,161 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-28 10:33:36,161 INFO L290 TraceCheckUtils]: 42: Hoare triple {11807#(<= 10 |student_version_#in~w|)} assume true; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-28 10:33:36,162 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-28 10:33:36,162 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-28 10:33:36,162 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-28 10:33:36,162 INFO L290 TraceCheckUtils]: 46: Hoare triple {11751#false} ~cond := #in~cond; {11751#false} is VALID [2022-04-28 10:33:36,162 INFO L290 TraceCheckUtils]: 47: Hoare triple {11751#false} assume 0 == ~cond; {11751#false} is VALID [2022-04-28 10:33:36,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {11751#false} assume !false; {11751#false} is VALID [2022-04-28 10:33:36,162 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-28 10:33:36,162 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:42,504 INFO L290 TraceCheckUtils]: 48: Hoare triple {11751#false} assume !false; {11751#false} is VALID [2022-04-28 10:33:42,504 INFO L290 TraceCheckUtils]: 47: Hoare triple {11751#false} assume 0 == ~cond; {11751#false} is VALID [2022-04-28 10:33:42,504 INFO L290 TraceCheckUtils]: 46: Hoare triple {11751#false} ~cond := #in~cond; {11751#false} is VALID [2022-04-28 10:33:42,504 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-28 10:33:42,504 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-28 10:33:42,505 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-28 10:33:42,506 INFO L290 TraceCheckUtils]: 42: Hoare triple {11807#(<= 10 |student_version_#in~w|)} assume true; {11807#(<= 10 |student_version_#in~w|)} is VALID [2022-04-28 10:33:42,506 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-28 10:33:42,506 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-28 10:33:42,506 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-28 10:33:42,507 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-28 10:33:42,507 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-28 10:33:42,508 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-28 10:33:42,508 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-28 10:33:42,508 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-28 10:33:42,509 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-28 10:33:42,509 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-28 10:33:42,509 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-28 10:33:42,510 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-28 10:33:42,510 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-28 10:33:42,510 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-28 10:33:42,511 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-28 10:33:42,511 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-28 10:33:42,511 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-28 10:33:42,512 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-28 10:33:42,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {11799#(<= |correct_version_#in~w| 9)} assume true; {11799#(<= |correct_version_#in~w| 9)} is VALID [2022-04-28 10:33:42,512 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-28 10:33:42,513 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-28 10:33:42,513 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-28 10:33:42,514 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-28 10:33:42,514 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-28 10:33:42,514 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-28 10:33:42,515 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-28 10:33:42,515 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-28 10:33:42,515 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-28 10:33:42,516 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-28 10:33:42,516 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-28 10:33:42,517 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-28 10:33:42,517 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-28 10:33:42,517 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-28 10:33:42,517 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-28 10:33:42,518 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-28 10:33:42,518 INFO L290 TraceCheckUtils]: 6: Hoare triple {11750#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {11750#true} is VALID [2022-04-28 10:33:42,518 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-28 10:33:42,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {11750#true} call #t~ret7 := main(); {11750#true} is VALID [2022-04-28 10:33:42,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11750#true} {11750#true} #93#return; {11750#true} is VALID [2022-04-28 10:33:42,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {11750#true} assume true; {11750#true} is VALID [2022-04-28 10:33:42,518 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-28 10:33:42,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {11750#true} call ULTIMATE.init(); {11750#true} is VALID [2022-04-28 10:33:42,518 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-28 10:33:42,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [407580027] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:42,518 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:42,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 51 [2022-04-28 10:33:42,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:42,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1276824890] [2022-04-28 10:33:42,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1276824890] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:42,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:42,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 10:33:42,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1491061005] [2022-04-28 10:33:42,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:42,519 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-28 10:33:42,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:42,519 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-28 10:33:42,550 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:42,550 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 10:33:42,550 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:42,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 10:33:42,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=407, Invalid=2143, Unknown=0, NotChecked=0, Total=2550 [2022-04-28 10:33:42,551 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-28 10:33:43,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:43,708 INFO L93 Difference]: Finished difference Result 78 states and 85 transitions. [2022-04-28 10:33:43,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 10:33:43,709 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-28 10:33:43,709 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:43,709 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-28 10:33:43,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 80 transitions. [2022-04-28 10:33:43,710 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-28 10:33:43,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 80 transitions. [2022-04-28 10:33:43,711 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 80 transitions. [2022-04-28 10:33:43,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:43,779 INFO L225 Difference]: With dead ends: 78 [2022-04-28 10:33:43,779 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 10:33:43,781 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 67 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1790 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=727, Invalid=3965, Unknown=0, NotChecked=0, Total=4692 [2022-04-28 10:33:43,781 INFO L413 NwaCegarLoop]: 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-28 10:33:43,781 INFO L414 NwaCegarLoop]: 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-28 10:33:43,781 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 10:33:43,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 61. [2022-04-28 10:33:43,989 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:43,989 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-28 10:33:43,989 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-28 10:33:43,989 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-28 10:33:43,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:43,990 INFO L93 Difference]: Finished difference Result 67 states and 73 transitions. [2022-04-28 10:33:43,990 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 73 transitions. [2022-04-28 10:33:43,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:43,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:43,990 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-28 10:33:43,990 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-28 10:33:43,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:43,991 INFO L93 Difference]: Finished difference Result 67 states and 73 transitions. [2022-04-28 10:33:43,991 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 73 transitions. [2022-04-28 10:33:43,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:43,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:43,991 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:43,991 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:43,992 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-28 10:33:43,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 65 transitions. [2022-04-28 10:33:43,992 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 65 transitions. Word has length 49 [2022-04-28 10:33:43,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:43,993 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 65 transitions. [2022-04-28 10:33:43,993 INFO L496 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-28 10:33:43,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 65 transitions. [2022-04-28 10:33:44,085 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:44,086 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 65 transitions. [2022-04-28 10:33:44,086 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 10:33:44,086 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:44,086 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:44,108 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:44,286 WARN L477 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-28 10:33:44,287 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:44,287 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:44,287 INFO L85 PathProgramCache]: Analyzing trace with hash -969594157, now seen corresponding path program 15 times [2022-04-28 10:33:44,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:44,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1251730639] [2022-04-28 10:33:44,289 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:44,289 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:44,289 INFO L85 PathProgramCache]: Analyzing trace with hash -969594157, now seen corresponding path program 16 times [2022-04-28 10:33:44,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:44,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [529444151] [2022-04-28 10:33:44,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:44,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:44,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:44,326 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:44,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:44,330 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-28 10:33:44,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {12579#true} assume true; {12579#true} is VALID [2022-04-28 10:33:44,331 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12579#true} {12579#true} #93#return; {12579#true} is VALID [2022-04-28 10:33:44,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:44,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:44,402 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-28 10:33:44,403 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-28 10:33:44,403 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-28 10:33:44,404 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-28 10:33:44,404 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-28 10:33:44,404 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-28 10:33:44,405 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-28 10:33:44,405 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-28 10:33:44,405 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-28 10:33:44,406 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-28 10:33:44,415 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-28 10:33:44,416 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-28 10:33:44,416 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-28 10:33:44,417 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-28 10:33:44,417 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-28 10:33:44,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} assume true; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:44,418 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-28 10:33:44,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:33:44,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:44,550 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-28 10:33:44,551 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-28 10:33:44,551 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-28 10:33:44,551 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-28 10:33:44,552 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-28 10:33:44,552 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-28 10:33:44,552 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-28 10:33:44,553 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-28 10:33:44,553 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-28 10:33:44,554 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-28 10:33:44,554 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-28 10:33:44,554 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-28 10:33:44,555 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-28 10:33:44,555 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-28 10:33:44,555 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-28 10:33:44,556 INFO L290 TraceCheckUtils]: 15: Hoare triple {12636#(<= |student_version_#in~w| 9)} assume true; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-28 10:33:44,557 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-28 10:33:44,558 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-28 10:33:44,558 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-28 10:33:44,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {12579#true} assume true; {12579#true} is VALID [2022-04-28 10:33:44,558 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12579#true} {12579#true} #93#return; {12579#true} is VALID [2022-04-28 10:33:44,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {12579#true} call #t~ret7 := main(); {12579#true} is VALID [2022-04-28 10:33:44,558 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-28 10:33:44,558 INFO L290 TraceCheckUtils]: 6: Hoare triple {12579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {12579#true} is VALID [2022-04-28 10:33:44,558 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-28 10:33:44,559 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-28 10:33:44,559 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-28 10:33:44,559 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-28 10:33:44,560 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-28 10:33:44,560 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-28 10:33:44,560 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-28 10:33:44,561 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-28 10:33:44,561 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-28 10:33:44,561 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-28 10:33:44,562 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-28 10:33:44,562 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-28 10:33:44,562 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-28 10:33:44,563 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-28 10:33:44,563 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-28 10:33:44,563 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-28 10:33:44,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} assume true; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:44,564 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-28 10:33:44,565 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-28 10:33:44,565 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-28 10:33:44,565 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-28 10:33:44,565 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-28 10:33:44,566 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-28 10:33:44,566 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-28 10:33:44,566 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-28 10:33:44,567 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-28 10:33:44,567 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-28 10:33:44,568 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-28 10:33:44,568 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-28 10:33:44,568 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-28 10:33:44,569 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-28 10:33:44,569 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-28 10:33:44,569 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-28 10:33:44,570 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-28 10:33:44,570 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-28 10:33:44,570 INFO L290 TraceCheckUtils]: 42: Hoare triple {12636#(<= |student_version_#in~w| 9)} assume true; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-28 10:33:44,571 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-28 10:33:44,571 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-28 10:33:44,571 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-28 10:33:44,571 INFO L290 TraceCheckUtils]: 46: Hoare triple {12580#false} ~cond := #in~cond; {12580#false} is VALID [2022-04-28 10:33:44,571 INFO L290 TraceCheckUtils]: 47: Hoare triple {12580#false} assume 0 == ~cond; {12580#false} is VALID [2022-04-28 10:33:44,571 INFO L290 TraceCheckUtils]: 48: Hoare triple {12580#false} assume !false; {12580#false} is VALID [2022-04-28 10:33:44,571 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-28 10:33:44,572 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:44,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [529444151] [2022-04-28 10:33:44,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [529444151] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:44,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [110561995] [2022-04-28 10:33:44,572 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:33:44,572 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:44,572 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:44,573 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:44,574 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 10:33:44,618 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:33:44,618 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:44,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 10:33:44,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:44,630 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:45,506 INFO L272 TraceCheckUtils]: 0: Hoare triple {12579#true} call ULTIMATE.init(); {12579#true} is VALID [2022-04-28 10:33:45,506 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-28 10:33:45,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {12579#true} assume true; {12579#true} is VALID [2022-04-28 10:33:45,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12579#true} {12579#true} #93#return; {12579#true} is VALID [2022-04-28 10:33:45,507 INFO L272 TraceCheckUtils]: 4: Hoare triple {12579#true} call #t~ret7 := main(); {12579#true} is VALID [2022-04-28 10:33:45,507 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-28 10:33:45,507 INFO L290 TraceCheckUtils]: 6: Hoare triple {12579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {12579#true} is VALID [2022-04-28 10:33:45,507 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-28 10:33:45,507 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-28 10:33:45,507 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-28 10:33:45,508 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-28 10:33:45,508 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-28 10:33:45,508 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-28 10:33:45,509 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-28 10:33:45,509 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-28 10:33:45,510 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-28 10:33:45,510 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-28 10:33:45,510 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-28 10:33:45,511 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-28 10:33:45,511 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-28 10:33:45,511 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-28 10:33:45,512 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-28 10:33:45,512 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-28 10:33:45,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} assume true; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:45,514 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-28 10:33:45,515 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-28 10:33:45,515 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-28 10:33:45,515 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-28 10:33:45,519 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-28 10:33:45,520 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-28 10:33:45,520 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-28 10:33:45,520 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-28 10:33:45,521 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-28 10:33:45,522 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-28 10:33:45,522 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-28 10:33:45,522 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-28 10:33:45,523 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-28 10:33:45,523 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-28 10:33:45,523 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-28 10:33:45,524 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-28 10:33:45,535 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-28 10:33:45,536 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-28 10:33:45,536 INFO L290 TraceCheckUtils]: 42: Hoare triple {12636#(<= |student_version_#in~w| 9)} assume true; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-28 10:33:45,537 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-28 10:33:45,537 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-28 10:33:45,537 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-28 10:33:45,537 INFO L290 TraceCheckUtils]: 46: Hoare triple {12580#false} ~cond := #in~cond; {12580#false} is VALID [2022-04-28 10:33:45,537 INFO L290 TraceCheckUtils]: 47: Hoare triple {12580#false} assume 0 == ~cond; {12580#false} is VALID [2022-04-28 10:33:45,537 INFO L290 TraceCheckUtils]: 48: Hoare triple {12580#false} assume !false; {12580#false} is VALID [2022-04-28 10:33:45,537 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-28 10:33:45,537 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:51,381 INFO L290 TraceCheckUtils]: 48: Hoare triple {12580#false} assume !false; {12580#false} is VALID [2022-04-28 10:33:51,381 INFO L290 TraceCheckUtils]: 47: Hoare triple {12580#false} assume 0 == ~cond; {12580#false} is VALID [2022-04-28 10:33:51,381 INFO L290 TraceCheckUtils]: 46: Hoare triple {12580#false} ~cond := #in~cond; {12580#false} is VALID [2022-04-28 10:33:51,382 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-28 10:33:51,382 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-28 10:33:51,382 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-28 10:33:51,383 INFO L290 TraceCheckUtils]: 42: Hoare triple {12636#(<= |student_version_#in~w| 9)} assume true; {12636#(<= |student_version_#in~w| 9)} is VALID [2022-04-28 10:33:51,383 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-28 10:33:51,383 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-28 10:33:51,384 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-28 10:33:51,384 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-28 10:33:51,384 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-28 10:33:51,385 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-28 10:33:51,385 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-28 10:33:51,385 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-28 10:33:51,386 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-28 10:33:51,386 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-28 10:33:51,386 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-28 10:33:51,387 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-28 10:33:51,387 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-28 10:33:51,387 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-28 10:33:51,388 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-28 10:33:51,388 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-28 10:33:51,388 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-28 10:33:51,389 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-28 10:33:51,389 INFO L290 TraceCheckUtils]: 23: Hoare triple {12627#(<= 10 |correct_version_#in~w|)} assume true; {12627#(<= 10 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:51,390 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-28 10:33:51,390 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-28 10:33:51,390 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-28 10:33:51,391 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-28 10:33:51,391 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-28 10:33:51,391 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-28 10:33:51,392 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-28 10:33:51,392 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-28 10:33:51,392 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-28 10:33:51,393 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-28 10:33:51,393 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-28 10:33:51,393 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-28 10:33:51,394 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-28 10:33:51,394 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-28 10:33:51,394 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-28 10:33:51,394 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-28 10:33:51,394 INFO L290 TraceCheckUtils]: 6: Hoare triple {12579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {12579#true} is VALID [2022-04-28 10:33:51,394 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-28 10:33:51,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {12579#true} call #t~ret7 := main(); {12579#true} is VALID [2022-04-28 10:33:51,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12579#true} {12579#true} #93#return; {12579#true} is VALID [2022-04-28 10:33:51,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {12579#true} assume true; {12579#true} is VALID [2022-04-28 10:33:51,395 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-28 10:33:51,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {12579#true} call ULTIMATE.init(); {12579#true} is VALID [2022-04-28 10:33:51,395 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-28 10:33:51,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [110561995] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:51,395 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:51,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 51 [2022-04-28 10:33:51,395 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:51,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1251730639] [2022-04-28 10:33:51,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1251730639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:51,395 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:51,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 10:33:51,396 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1704479634] [2022-04-28 10:33:51,396 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:51,396 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-28 10:33:51,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:51,396 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-28 10:33:51,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:51,426 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 10:33:51,426 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:51,427 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 10:33:51,427 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=407, Invalid=2143, Unknown=0, NotChecked=0, Total=2550 [2022-04-28 10:33:51,427 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-28 10:33:52,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:52,517 INFO L93 Difference]: Finished difference Result 73 states and 78 transitions. [2022-04-28 10:33:52,517 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 10:33:52,517 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-28 10:33:52,517 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:52,525 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-28 10:33:52,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 73 transitions. [2022-04-28 10:33:52,528 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-28 10:33:52,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 73 transitions. [2022-04-28 10:33:52,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 73 transitions. [2022-04-28 10:33:52,586 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-28 10:33:52,587 INFO L225 Difference]: With dead ends: 73 [2022-04-28 10:33:52,587 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 10:33:52,588 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 139 GetRequests, 67 SyntacticMatches, 5 SemanticMatches, 67 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1796 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=727, Invalid=3965, Unknown=0, NotChecked=0, Total=4692 [2022-04-28 10:33:52,588 INFO L413 NwaCegarLoop]: 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-28 10:33:52,589 INFO L414 NwaCegarLoop]: 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-28 10:33:52,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 10:33:52,836 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 64. [2022-04-28 10:33:52,836 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:52,836 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-28 10:33:52,836 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-28 10:33:52,836 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-28 10:33:52,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:52,837 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 10:33:52,837 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-28 10:33:52,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:52,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:52,838 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-28 10:33:52,838 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-28 10:33:52,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:52,838 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 10:33:52,839 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-28 10:33:52,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:52,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:52,839 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:52,839 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:52,839 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-28 10:33:52,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 69 transitions. [2022-04-28 10:33:52,840 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 69 transitions. Word has length 49 [2022-04-28 10:33:52,840 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:52,840 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 69 transitions. [2022-04-28 10:33:52,840 INFO L496 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-28 10:33:52,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 69 transitions. [2022-04-28 10:33:52,944 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:52,944 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 69 transitions. [2022-04-28 10:33:52,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 10:33:52,945 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:52,945 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:52,964 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:53,145 WARN L477 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-28 10:33:53,145 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:53,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:53,146 INFO L85 PathProgramCache]: Analyzing trace with hash -1499302699, now seen corresponding path program 17 times [2022-04-28 10:33:53,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:53,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [249977586] [2022-04-28 10:33:53,148 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:53,148 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:53,148 INFO L85 PathProgramCache]: Analyzing trace with hash -1499302699, now seen corresponding path program 18 times [2022-04-28 10:33:53,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:53,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [124725064] [2022-04-28 10:33:53,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:53,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:53,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:53,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:53,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:53,192 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-28 10:33:53,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {13398#true} assume true; {13398#true} is VALID [2022-04-28 10:33:53,192 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13398#true} {13398#true} #93#return; {13398#true} is VALID [2022-04-28 10:33:53,192 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:53,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:53,299 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-28 10:33:53,300 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-28 10:33:53,300 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-28 10:33:53,301 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-28 10:33:53,301 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-28 10:33:53,301 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-28 10:33:53,302 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-28 10:33:53,306 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-28 10:33:53,307 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-28 10:33:53,307 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-28 10:33:53,307 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-28 10:33:53,308 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-28 10:33:53,308 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-28 10:33:53,308 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-28 10:33:53,309 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-28 10:33:53,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume true; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-28 10:33:53,310 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-28 10:33:53,310 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-04-28 10:33:53,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:53,408 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-28 10:33:53,408 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-28 10:33:53,409 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-28 10:33:53,409 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-28 10:33:53,409 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-28 10:33:53,410 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-28 10:33:53,410 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-28 10:33:53,410 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-28 10:33:53,411 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-28 10:33:53,411 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-28 10:33:53,411 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-28 10:33:53,412 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-28 10:33:53,412 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-28 10:33:53,412 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-28 10:33:53,413 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-28 10:33:53,413 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-28 10:33:53,413 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-28 10:33:53,414 INFO L290 TraceCheckUtils]: 17: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume true; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-28 10:33:53,414 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-28 10:33:53,415 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-28 10:33:53,415 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-28 10:33:53,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {13398#true} assume true; {13398#true} is VALID [2022-04-28 10:33:53,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13398#true} {13398#true} #93#return; {13398#true} is VALID [2022-04-28 10:33:53,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {13398#true} call #t~ret7 := main(); {13398#true} is VALID [2022-04-28 10:33:53,415 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-28 10:33:53,415 INFO L290 TraceCheckUtils]: 6: Hoare triple {13398#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {13398#true} is VALID [2022-04-28 10:33:53,415 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-28 10:33:53,416 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-28 10:33:53,416 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-28 10:33:53,416 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-28 10:33:53,417 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-28 10:33:53,417 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-28 10:33:53,417 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-28 10:33:53,418 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-28 10:33:53,418 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-28 10:33:53,418 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-28 10:33:53,419 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-28 10:33:53,419 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-28 10:33:53,419 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-28 10:33:53,420 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-28 10:33:53,420 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-28 10:33:53,420 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-28 10:33:53,420 INFO L290 TraceCheckUtils]: 23: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume true; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-28 10:33:53,421 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-28 10:33:53,422 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-28 10:33:53,422 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-28 10:33:53,422 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-28 10:33:53,422 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-28 10:33:53,423 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-28 10:33:53,423 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-28 10:33:53,423 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-28 10:33:53,424 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-28 10:33:53,424 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-28 10:33:53,424 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-28 10:33:53,425 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-28 10:33:53,425 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-28 10:33:53,425 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-28 10:33:53,426 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-28 10:33:53,426 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-28 10:33:53,426 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-28 10:33:53,427 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-28 10:33:53,427 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-28 10:33:53,427 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-28 10:33:53,427 INFO L290 TraceCheckUtils]: 44: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume true; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-28 10:33:53,428 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-28 10:33:53,428 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-28 10:33:53,428 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-28 10:33:53,428 INFO L290 TraceCheckUtils]: 48: Hoare triple {13399#false} ~cond := #in~cond; {13399#false} is VALID [2022-04-28 10:33:53,428 INFO L290 TraceCheckUtils]: 49: Hoare triple {13399#false} assume 0 == ~cond; {13399#false} is VALID [2022-04-28 10:33:53,428 INFO L290 TraceCheckUtils]: 50: Hoare triple {13399#false} assume !false; {13399#false} is VALID [2022-04-28 10:33:53,429 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-28 10:33:53,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:53,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [124725064] [2022-04-28 10:33:53,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [124725064] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:53,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1190958079] [2022-04-28 10:33:53,429 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:33:53,429 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:53,429 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:53,430 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:53,431 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 10:33:53,490 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 10:33:53,490 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:53,491 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 10:33:53,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:53,507 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:33:54,132 INFO L272 TraceCheckUtils]: 0: Hoare triple {13398#true} call ULTIMATE.init(); {13398#true} is VALID [2022-04-28 10:33:54,132 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-28 10:33:54,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {13398#true} assume true; {13398#true} is VALID [2022-04-28 10:33:54,133 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13398#true} {13398#true} #93#return; {13398#true} is VALID [2022-04-28 10:33:54,133 INFO L272 TraceCheckUtils]: 4: Hoare triple {13398#true} call #t~ret7 := main(); {13398#true} is VALID [2022-04-28 10:33:54,133 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-28 10:33:54,133 INFO L290 TraceCheckUtils]: 6: Hoare triple {13398#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {13398#true} is VALID [2022-04-28 10:33:54,133 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-28 10:33:54,133 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-28 10:33:54,134 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-28 10:33:54,134 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-28 10:33:54,144 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-28 10:33:54,144 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-28 10:33:54,145 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-28 10:33:54,145 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-28 10:33:54,145 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-28 10:33:54,146 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-28 10:33:54,146 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-28 10:33:54,147 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-28 10:33:54,147 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-28 10:33:54,149 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-28 10:33:54,149 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-28 10:33:54,149 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-28 10:33:54,149 INFO L290 TraceCheckUtils]: 23: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume true; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-28 10:33:54,150 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-28 10:33:54,151 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-28 10:33:54,151 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-28 10:33:54,151 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-28 10:33:54,151 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-28 10:33:54,152 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-28 10:33:54,152 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-28 10:33:54,153 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-28 10:33:54,153 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-28 10:33:54,153 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-28 10:33:54,154 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-28 10:33:54,154 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-28 10:33:54,155 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-28 10:33:54,155 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-28 10:33:54,155 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-28 10:33:54,156 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-28 10:33:54,156 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-28 10:33:54,156 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-28 10:33:54,157 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-28 10:33:54,157 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-28 10:33:54,157 INFO L290 TraceCheckUtils]: 44: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume true; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-28 10:33:54,158 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-28 10:33:54,158 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-28 10:33:54,158 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-28 10:33:54,158 INFO L290 TraceCheckUtils]: 48: Hoare triple {13399#false} ~cond := #in~cond; {13399#false} is VALID [2022-04-28 10:33:54,158 INFO L290 TraceCheckUtils]: 49: Hoare triple {13399#false} assume 0 == ~cond; {13399#false} is VALID [2022-04-28 10:33:54,158 INFO L290 TraceCheckUtils]: 50: Hoare triple {13399#false} assume !false; {13399#false} is VALID [2022-04-28 10:33:54,158 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-28 10:33:54,159 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:33:57,457 INFO L290 TraceCheckUtils]: 50: Hoare triple {13399#false} assume !false; {13399#false} is VALID [2022-04-28 10:33:57,457 INFO L290 TraceCheckUtils]: 49: Hoare triple {13399#false} assume 0 == ~cond; {13399#false} is VALID [2022-04-28 10:33:57,458 INFO L290 TraceCheckUtils]: 48: Hoare triple {13399#false} ~cond := #in~cond; {13399#false} is VALID [2022-04-28 10:33:57,458 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-28 10:33:57,458 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-28 10:33:57,459 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-28 10:33:57,459 INFO L290 TraceCheckUtils]: 44: Hoare triple {13458#(<= 11 |student_version_#in~w|)} assume true; {13458#(<= 11 |student_version_#in~w|)} is VALID [2022-04-28 10:33:57,459 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-28 10:33:57,459 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-28 10:33:57,460 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-28 10:33:57,460 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-28 10:33:57,460 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-28 10:33:57,461 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-28 10:33:57,461 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-28 10:33:57,461 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-28 10:33:57,462 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-28 10:33:57,462 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-28 10:33:57,462 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-28 10:33:57,463 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-28 10:33:57,463 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-28 10:33:57,463 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-28 10:33:57,464 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-28 10:33:57,464 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-28 10:33:57,464 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-28 10:33:57,464 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-28 10:33:57,465 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-28 10:33:57,465 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-28 10:33:57,466 INFO L290 TraceCheckUtils]: 23: Hoare triple {13449#(<= |correct_version_#in~w| 10)} assume true; {13449#(<= |correct_version_#in~w| 10)} is VALID [2022-04-28 10:33:57,466 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-28 10:33:57,466 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-28 10:33:57,467 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-28 10:33:57,467 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-28 10:33:57,467 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-28 10:33:57,468 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-28 10:33:57,468 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-28 10:33:57,469 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-28 10:33:57,469 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-28 10:33:57,469 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-28 10:33:57,470 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-28 10:33:57,470 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-28 10:33:57,471 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-28 10:33:57,471 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-28 10:33:57,471 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-28 10:33:57,471 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-28 10:33:57,471 INFO L290 TraceCheckUtils]: 6: Hoare triple {13398#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {13398#true} is VALID [2022-04-28 10:33:57,471 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-28 10:33:57,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {13398#true} call #t~ret7 := main(); {13398#true} is VALID [2022-04-28 10:33:57,472 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13398#true} {13398#true} #93#return; {13398#true} is VALID [2022-04-28 10:33:57,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {13398#true} assume true; {13398#true} is VALID [2022-04-28 10:33:57,472 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-28 10:33:57,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {13398#true} call ULTIMATE.init(); {13398#true} is VALID [2022-04-28 10:33:57,472 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-28 10:33:57,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1190958079] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:33:57,472 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:33:57,472 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 19, 19] total 50 [2022-04-28 10:33:57,472 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:33:57,472 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [249977586] [2022-04-28 10:33:57,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [249977586] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:33:57,473 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:33:57,473 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 10:33:57,473 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1895725811] [2022-04-28 10:33:57,473 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:33:57,473 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-28 10:33:57,473 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:33:57,473 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-28 10:33:57,504 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:33:57,505 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 10:33:57,505 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:57,505 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 10:33:57,505 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=413, Invalid=2037, Unknown=0, NotChecked=0, Total=2450 [2022-04-28 10:33:57,506 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-28 10:33:58,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:58,750 INFO L93 Difference]: Finished difference Result 79 states and 84 transitions. [2022-04-28 10:33:58,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 10:33:58,750 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-28 10:33:58,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:33:58,750 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-28 10:33:58,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2022-04-28 10:33:58,751 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-28 10:33:58,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2022-04-28 10:33:58,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 76 transitions. [2022-04-28 10:33:58,811 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-28 10:33:58,812 INFO L225 Difference]: With dead ends: 79 [2022-04-28 10:33:58,812 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 10:33:58,813 INFO L412 NwaCegarLoop]: 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-28 10:33:58,814 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 73 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 462 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:33:58,814 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [76 Valid, 77 Invalid, 487 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 462 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 10:33:58,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 10:33:59,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 63. [2022-04-28 10:33:59,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:33:59,060 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-28 10:33:59,060 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-28 10:33:59,060 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-28 10:33:59,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:59,061 INFO L93 Difference]: Finished difference Result 67 states and 71 transitions. [2022-04-28 10:33:59,061 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 71 transitions. [2022-04-28 10:33:59,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:59,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:59,061 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-28 10:33:59,061 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-28 10:33:59,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:33:59,062 INFO L93 Difference]: Finished difference Result 67 states and 71 transitions. [2022-04-28 10:33:59,062 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 71 transitions. [2022-04-28 10:33:59,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:33:59,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:33:59,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:33:59,062 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:33:59,063 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-28 10:33:59,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 67 transitions. [2022-04-28 10:33:59,063 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 67 transitions. Word has length 51 [2022-04-28 10:33:59,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:33:59,063 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 67 transitions. [2022-04-28 10:33:59,064 INFO L496 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-28 10:33:59,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 67 transitions. [2022-04-28 10:33:59,162 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-28 10:33:59,162 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 67 transitions. [2022-04-28 10:33:59,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 10:33:59,162 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:33:59,162 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:33:59,181 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 10:33:59,363 WARN L477 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-28 10:33:59,363 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:33:59,363 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:33:59,363 INFO L85 PathProgramCache]: Analyzing trace with hash 1741263029, now seen corresponding path program 17 times [2022-04-28 10:33:59,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:33:59,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [837534403] [2022-04-28 10:33:59,366 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:33:59,366 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:33:59,366 INFO L85 PathProgramCache]: Analyzing trace with hash 1741263029, now seen corresponding path program 18 times [2022-04-28 10:33:59,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:33:59,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [16598258] [2022-04-28 10:33:59,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:33:59,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:33:59,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:59,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:33:59,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:59,403 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-28 10:33:59,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {14244#true} assume true; {14244#true} is VALID [2022-04-28 10:33:59,403 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14244#true} {14244#true} #93#return; {14244#true} is VALID [2022-04-28 10:33:59,403 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:33:59,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:59,485 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-28 10:33:59,485 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-28 10:33:59,486 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-28 10:33:59,486 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-28 10:33:59,486 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-28 10:33:59,487 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-28 10:33:59,487 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-28 10:33:59,487 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-28 10:33:59,488 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-28 10:33:59,488 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-28 10:33:59,488 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-28 10:33:59,489 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-28 10:33:59,489 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-28 10:33:59,489 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-28 10:33:59,490 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-28 10:33:59,490 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-28 10:33:59,490 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-28 10:33:59,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume true; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:59,491 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-28 10:33:59,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:33:59,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:59,608 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-28 10:33:59,609 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-28 10:33:59,609 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-28 10:33:59,609 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-28 10:33:59,610 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-28 10:33:59,610 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-28 10:33:59,610 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-28 10:33:59,611 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-28 10:33:59,611 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-28 10:33:59,611 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-28 10:33:59,612 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-28 10:33:59,612 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-28 10:33:59,612 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-28 10:33:59,613 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-28 10:33:59,613 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-28 10:33:59,613 INFO L290 TraceCheckUtils]: 15: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume true; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-28 10:33:59,614 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-28 10:33:59,614 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-28 10:33:59,615 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-28 10:33:59,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {14244#true} assume true; {14244#true} is VALID [2022-04-28 10:33:59,615 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14244#true} {14244#true} #93#return; {14244#true} is VALID [2022-04-28 10:33:59,615 INFO L272 TraceCheckUtils]: 4: Hoare triple {14244#true} call #t~ret7 := main(); {14244#true} is VALID [2022-04-28 10:33:59,615 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-28 10:33:59,615 INFO L290 TraceCheckUtils]: 6: Hoare triple {14244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {14244#true} is VALID [2022-04-28 10:33:59,615 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-28 10:33:59,615 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-28 10:33:59,615 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-28 10:33:59,616 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-28 10:33:59,616 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-28 10:33:59,616 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-28 10:33:59,617 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-28 10:33:59,617 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-28 10:33:59,617 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-28 10:33:59,618 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-28 10:33:59,618 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-28 10:33:59,618 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-28 10:33:59,619 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-28 10:33:59,619 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-28 10:33:59,620 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-28 10:33:59,620 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-28 10:33:59,620 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-28 10:33:59,620 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-28 10:33:59,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume true; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-28 10:33:59,621 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-28 10:33:59,622 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-28 10:33:59,622 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-28 10:33:59,622 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-28 10:33:59,622 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-28 10:33:59,623 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-28 10:33:59,623 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-28 10:33:59,623 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-28 10:33:59,624 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-28 10:33:59,624 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-28 10:33:59,624 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-28 10:33:59,625 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-28 10:33:59,625 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-28 10:33:59,625 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-28 10:33:59,626 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-28 10:33:59,626 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-28 10:33:59,626 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-28 10:33:59,627 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-28 10:33:59,627 INFO L290 TraceCheckUtils]: 44: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume true; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-28 10:33:59,628 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-28 10:33:59,628 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-28 10:33:59,628 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-28 10:33:59,628 INFO L290 TraceCheckUtils]: 48: Hoare triple {14245#false} ~cond := #in~cond; {14245#false} is VALID [2022-04-28 10:33:59,628 INFO L290 TraceCheckUtils]: 49: Hoare triple {14245#false} assume 0 == ~cond; {14245#false} is VALID [2022-04-28 10:33:59,628 INFO L290 TraceCheckUtils]: 50: Hoare triple {14245#false} assume !false; {14245#false} is VALID [2022-04-28 10:33:59,628 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-28 10:33:59,628 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:33:59,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [16598258] [2022-04-28 10:33:59,628 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [16598258] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:33:59,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1510502811] [2022-04-28 10:33:59,628 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:33:59,628 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:33:59,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:33:59,629 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:33:59,630 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 10:33:59,682 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 10:33:59,682 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:33:59,683 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 10:33:59,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:33:59,694 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:00,502 INFO L272 TraceCheckUtils]: 0: Hoare triple {14244#true} call ULTIMATE.init(); {14244#true} is VALID [2022-04-28 10:34:00,502 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-28 10:34:00,502 INFO L290 TraceCheckUtils]: 2: Hoare triple {14244#true} assume true; {14244#true} is VALID [2022-04-28 10:34:00,502 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14244#true} {14244#true} #93#return; {14244#true} is VALID [2022-04-28 10:34:00,502 INFO L272 TraceCheckUtils]: 4: Hoare triple {14244#true} call #t~ret7 := main(); {14244#true} is VALID [2022-04-28 10:34:00,503 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-28 10:34:00,503 INFO L290 TraceCheckUtils]: 6: Hoare triple {14244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {14244#true} is VALID [2022-04-28 10:34:00,503 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-28 10:34:00,503 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-28 10:34:00,503 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-28 10:34:00,504 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-28 10:34:00,504 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-28 10:34:00,504 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-28 10:34:00,505 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-28 10:34:00,505 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-28 10:34:00,505 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-28 10:34:00,506 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-28 10:34:00,506 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-28 10:34:00,506 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-28 10:34:00,507 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-28 10:34:00,507 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-28 10:34:00,507 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-28 10:34:00,507 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-28 10:34:00,508 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-28 10:34:00,508 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-28 10:34:00,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume true; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:00,509 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-28 10:34:00,509 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-28 10:34:00,509 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-28 10:34:00,510 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-28 10:34:00,510 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-28 10:34:00,510 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-28 10:34:00,511 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-28 10:34:00,511 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-28 10:34:00,511 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-28 10:34:00,512 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-28 10:34:00,512 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-28 10:34:00,512 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-28 10:34:00,513 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-28 10:34:00,513 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-28 10:34:00,513 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-28 10:34:00,514 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-28 10:34:00,514 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-28 10:34:00,514 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-28 10:34:00,514 INFO L290 TraceCheckUtils]: 44: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume true; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-28 10:34:00,515 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-28 10:34:00,515 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-28 10:34:00,515 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-28 10:34:00,515 INFO L290 TraceCheckUtils]: 48: Hoare triple {14245#false} ~cond := #in~cond; {14245#false} is VALID [2022-04-28 10:34:00,515 INFO L290 TraceCheckUtils]: 49: Hoare triple {14245#false} assume 0 == ~cond; {14245#false} is VALID [2022-04-28 10:34:00,515 INFO L290 TraceCheckUtils]: 50: Hoare triple {14245#false} assume !false; {14245#false} is VALID [2022-04-28 10:34:00,515 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-28 10:34:00,516 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:03,890 INFO L290 TraceCheckUtils]: 50: Hoare triple {14245#false} assume !false; {14245#false} is VALID [2022-04-28 10:34:03,890 INFO L290 TraceCheckUtils]: 49: Hoare triple {14245#false} assume 0 == ~cond; {14245#false} is VALID [2022-04-28 10:34:03,890 INFO L290 TraceCheckUtils]: 48: Hoare triple {14245#false} ~cond := #in~cond; {14245#false} is VALID [2022-04-28 10:34:03,891 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-28 10:34:03,891 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-28 10:34:03,891 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-28 10:34:03,892 INFO L290 TraceCheckUtils]: 44: Hoare triple {14304#(<= |student_version_#in~w| 10)} assume true; {14304#(<= |student_version_#in~w| 10)} is VALID [2022-04-28 10:34:03,892 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-28 10:34:03,893 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-28 10:34:03,893 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-28 10:34:03,893 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-28 10:34:03,894 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-28 10:34:03,894 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-28 10:34:03,894 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-28 10:34:03,895 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-28 10:34:03,895 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-28 10:34:03,896 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-28 10:34:03,896 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-28 10:34:03,896 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-28 10:34:03,897 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-28 10:34:03,897 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-28 10:34:03,897 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-28 10:34:03,897 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-28 10:34:03,898 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-28 10:34:03,899 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-28 10:34:03,899 INFO L290 TraceCheckUtils]: 25: Hoare triple {14295#(<= 11 |correct_version_#in~w|)} assume true; {14295#(<= 11 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:03,899 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-28 10:34:03,899 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-28 10:34:03,899 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-28 10:34:03,900 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-28 10:34:03,900 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-28 10:34:03,900 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-28 10:34:03,901 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-28 10:34:03,901 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-28 10:34:03,901 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-28 10:34:03,902 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-28 10:34:03,902 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-28 10:34:03,903 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-28 10:34:03,903 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-28 10:34:03,903 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-28 10:34:03,904 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-28 10:34:03,904 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-28 10:34:03,904 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-28 10:34:03,904 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-28 10:34:03,904 INFO L290 TraceCheckUtils]: 6: Hoare triple {14244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {14244#true} is VALID [2022-04-28 10:34:03,905 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-28 10:34:03,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {14244#true} call #t~ret7 := main(); {14244#true} is VALID [2022-04-28 10:34:03,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14244#true} {14244#true} #93#return; {14244#true} is VALID [2022-04-28 10:34:03,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {14244#true} assume true; {14244#true} is VALID [2022-04-28 10:34:03,905 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-28 10:34:03,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {14244#true} call ULTIMATE.init(); {14244#true} is VALID [2022-04-28 10:34:03,905 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-28 10:34:03,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1510502811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:03,905 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:03,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 19, 19] total 50 [2022-04-28 10:34:03,905 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:03,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [837534403] [2022-04-28 10:34:03,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [837534403] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:03,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:03,906 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 10:34:03,906 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [253776490] [2022-04-28 10:34:03,906 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:03,906 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-28 10:34:03,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:03,906 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-28 10:34:03,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:03,942 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 10:34:03,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:03,943 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 10:34:03,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=413, Invalid=2037, Unknown=0, NotChecked=0, Total=2450 [2022-04-28 10:34:03,943 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-28 10:34:04,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:04,833 INFO L93 Difference]: Finished difference Result 73 states and 76 transitions. [2022-04-28 10:34:04,833 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 10:34:04,833 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-28 10:34:04,833 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:04,834 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-28 10:34:04,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 68 transitions. [2022-04-28 10:34:04,834 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-28 10:34:04,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 68 transitions. [2022-04-28 10:34:04,835 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 68 transitions. [2022-04-28 10:34:05,064 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-28 10:34:05,064 INFO L225 Difference]: With dead ends: 73 [2022-04-28 10:34:05,065 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 10:34:05,065 INFO L412 NwaCegarLoop]: 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-28 10:34:05,066 INFO L413 NwaCegarLoop]: 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-28 10:34:05,066 INFO L414 NwaCegarLoop]: 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-28 10:34:05,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 10:34:05,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-28 10:34:05,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:05,315 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-28 10:34:05,316 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-28 10:34:05,316 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-28 10:34:05,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:05,332 INFO L93 Difference]: Finished difference Result 63 states and 66 transitions. [2022-04-28 10:34:05,332 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 66 transitions. [2022-04-28 10:34:05,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:05,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:05,332 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-28 10:34:05,332 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-28 10:34:05,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:05,336 INFO L93 Difference]: Finished difference Result 63 states and 66 transitions. [2022-04-28 10:34:05,336 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 66 transitions. [2022-04-28 10:34:05,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:05,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:05,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:05,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:05,337 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-28 10:34:05,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 65 transitions. [2022-04-28 10:34:05,338 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 65 transitions. Word has length 51 [2022-04-28 10:34:05,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:05,338 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 65 transitions. [2022-04-28 10:34:05,338 INFO L496 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-28 10:34:05,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 65 transitions. [2022-04-28 10:34:05,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:05,431 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 65 transitions. [2022-04-28 10:34:05,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 10:34:05,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:05,431 INFO L195 NwaCegarLoop]: 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-28 10:34:05,450 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:05,655 WARN L477 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-28 10:34:05,655 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:05,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:05,656 INFO L85 PathProgramCache]: Analyzing trace with hash 863265463, now seen corresponding path program 19 times [2022-04-28 10:34:05,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:05,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1172709266] [2022-04-28 10:34:05,658 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:05,658 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:05,658 INFO L85 PathProgramCache]: Analyzing trace with hash 863265463, now seen corresponding path program 20 times [2022-04-28 10:34:05,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:05,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1543722781] [2022-04-28 10:34:05,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:05,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:05,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:05,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:05,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:05,698 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-28 10:34:05,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {15068#true} assume true; {15068#true} is VALID [2022-04-28 10:34:05,699 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15068#true} {15068#true} #93#return; {15068#true} is VALID [2022-04-28 10:34:05,699 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:05,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:05,822 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-28 10:34:05,823 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-28 10:34:05,823 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-28 10:34:05,824 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-28 10:34:05,824 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-28 10:34:05,824 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-28 10:34:05,825 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-28 10:34:05,825 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-28 10:34:05,826 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-28 10:34:05,826 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-28 10:34:05,826 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-28 10:34:05,827 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-28 10:34:05,827 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-28 10:34:05,828 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-28 10:34:05,828 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-28 10:34:05,828 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-28 10:34:05,829 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-28 10:34:05,829 INFO L290 TraceCheckUtils]: 17: Hoare triple {15122#(<= |correct_version_#in~w| 11)} assume true; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-28 10:34:05,830 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-28 10:34:05,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:34:05,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:05,952 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-28 10:34:05,953 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-28 10:34:05,953 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-28 10:34:05,954 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-28 10:34:05,954 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-28 10:34:05,954 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-28 10:34:05,955 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-28 10:34:05,955 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-28 10:34:05,956 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-28 10:34:05,956 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-28 10:34:05,956 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-28 10:34:05,957 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-28 10:34:05,957 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-28 10:34:05,957 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-28 10:34:05,958 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-28 10:34:05,958 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-28 10:34:05,958 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-28 10:34:05,959 INFO L290 TraceCheckUtils]: 17: Hoare triple {15131#(<= 12 |student_version_#in~w|)} assume true; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-28 10:34:05,960 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-28 10:34:05,960 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-28 10:34:05,960 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-28 10:34:05,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {15068#true} assume true; {15068#true} is VALID [2022-04-28 10:34:05,960 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15068#true} {15068#true} #93#return; {15068#true} is VALID [2022-04-28 10:34:05,960 INFO L272 TraceCheckUtils]: 4: Hoare triple {15068#true} call #t~ret7 := main(); {15068#true} is VALID [2022-04-28 10:34:05,960 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-28 10:34:05,960 INFO L290 TraceCheckUtils]: 6: Hoare triple {15068#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15068#true} is VALID [2022-04-28 10:34:05,960 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-28 10:34:05,961 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-28 10:34:05,961 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-28 10:34:05,961 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-28 10:34:05,962 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-28 10:34:05,962 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-28 10:34:05,963 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-28 10:34:05,963 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-28 10:34:05,963 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-28 10:34:05,964 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-28 10:34:05,964 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-28 10:34:05,964 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-28 10:34:05,965 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-28 10:34:05,965 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-28 10:34:05,966 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-28 10:34:05,966 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-28 10:34:05,967 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-28 10:34:05,967 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-28 10:34:05,967 INFO L290 TraceCheckUtils]: 25: Hoare triple {15122#(<= |correct_version_#in~w| 11)} assume true; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-28 10:34:05,968 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-28 10:34:05,968 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-28 10:34:05,968 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-28 10:34:05,969 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-28 10:34:05,969 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-28 10:34:05,969 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-28 10:34:05,970 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-28 10:34:05,970 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-28 10:34:05,971 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-28 10:34:05,971 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-28 10:34:05,971 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-28 10:34:05,972 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-28 10:34:05,972 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-28 10:34:05,972 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-28 10:34:05,973 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-28 10:34:05,973 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-28 10:34:05,974 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-28 10:34:05,974 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-28 10:34:05,974 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-28 10:34:05,974 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-28 10:34:05,975 INFO L290 TraceCheckUtils]: 46: Hoare triple {15131#(<= 12 |student_version_#in~w|)} assume true; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-28 10:34:05,976 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-28 10:34:05,976 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-28 10:34:05,976 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-28 10:34:05,976 INFO L290 TraceCheckUtils]: 50: Hoare triple {15069#false} ~cond := #in~cond; {15069#false} is VALID [2022-04-28 10:34:05,976 INFO L290 TraceCheckUtils]: 51: Hoare triple {15069#false} assume 0 == ~cond; {15069#false} is VALID [2022-04-28 10:34:05,976 INFO L290 TraceCheckUtils]: 52: Hoare triple {15069#false} assume !false; {15069#false} is VALID [2022-04-28 10:34:05,976 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-28 10:34:05,976 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:05,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1543722781] [2022-04-28 10:34:05,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1543722781] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:05,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1892019125] [2022-04-28 10:34:05,976 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:34:05,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:05,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:05,977 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:05,978 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 10:34:06,031 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:34:06,031 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:06,032 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 10:34:06,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:06,044 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:06,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {15068#true} call ULTIMATE.init(); {15068#true} is VALID [2022-04-28 10:34:06,781 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-28 10:34:06,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {15068#true} assume true; {15068#true} is VALID [2022-04-28 10:34:06,781 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15068#true} {15068#true} #93#return; {15068#true} is VALID [2022-04-28 10:34:06,781 INFO L272 TraceCheckUtils]: 4: Hoare triple {15068#true} call #t~ret7 := main(); {15068#true} is VALID [2022-04-28 10:34:06,781 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-28 10:34:06,781 INFO L290 TraceCheckUtils]: 6: Hoare triple {15068#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15068#true} is VALID [2022-04-28 10:34:06,781 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-28 10:34:06,782 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-28 10:34:06,782 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-28 10:34:06,782 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-28 10:34:06,783 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-28 10:34:06,783 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-28 10:34:06,783 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-28 10:34:06,784 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-28 10:34:06,784 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-28 10:34:06,785 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-28 10:34:06,785 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-28 10:34:06,785 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-28 10:34:06,786 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-28 10:34:06,786 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-28 10:34:06,787 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-28 10:34:06,787 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-28 10:34:06,787 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-28 10:34:06,788 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-28 10:34:06,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {15122#(<= |correct_version_#in~w| 11)} assume true; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-28 10:34:06,789 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-28 10:34:06,789 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-28 10:34:06,789 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-28 10:34:06,790 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-28 10:34:06,790 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-28 10:34:06,790 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-28 10:34:06,791 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-28 10:34:06,791 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-28 10:34:06,792 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-28 10:34:06,792 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-28 10:34:06,792 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-28 10:34:06,793 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-28 10:34:06,793 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-28 10:34:06,794 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-28 10:34:06,794 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-28 10:34:06,794 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-28 10:34:06,795 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-28 10:34:06,795 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-28 10:34:06,795 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-28 10:34:06,796 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-28 10:34:06,796 INFO L290 TraceCheckUtils]: 46: Hoare triple {15131#(<= 12 |student_version_#in~w|)} assume true; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-28 10:34:06,797 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-28 10:34:06,797 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-28 10:34:06,797 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-28 10:34:06,797 INFO L290 TraceCheckUtils]: 50: Hoare triple {15069#false} ~cond := #in~cond; {15069#false} is VALID [2022-04-28 10:34:06,797 INFO L290 TraceCheckUtils]: 51: Hoare triple {15069#false} assume 0 == ~cond; {15069#false} is VALID [2022-04-28 10:34:06,797 INFO L290 TraceCheckUtils]: 52: Hoare triple {15069#false} assume !false; {15069#false} is VALID [2022-04-28 10:34:06,797 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-28 10:34:06,797 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:13,677 INFO L290 TraceCheckUtils]: 52: Hoare triple {15069#false} assume !false; {15069#false} is VALID [2022-04-28 10:34:13,677 INFO L290 TraceCheckUtils]: 51: Hoare triple {15069#false} assume 0 == ~cond; {15069#false} is VALID [2022-04-28 10:34:13,677 INFO L290 TraceCheckUtils]: 50: Hoare triple {15069#false} ~cond := #in~cond; {15069#false} is VALID [2022-04-28 10:34:13,677 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-28 10:34:13,677 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-28 10:34:13,678 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-28 10:34:13,678 INFO L290 TraceCheckUtils]: 46: Hoare triple {15131#(<= 12 |student_version_#in~w|)} assume true; {15131#(<= 12 |student_version_#in~w|)} is VALID [2022-04-28 10:34:13,679 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-28 10:34:13,679 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-28 10:34:13,679 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-28 10:34:13,680 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-28 10:34:13,680 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-28 10:34:13,681 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-28 10:34:13,681 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-28 10:34:13,681 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-28 10:34:13,682 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-28 10:34:13,682 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-28 10:34:13,682 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-28 10:34:13,683 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-28 10:34:13,683 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-28 10:34:13,684 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-28 10:34:13,684 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-28 10:34:13,685 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-28 10:34:13,685 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-28 10:34:13,685 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-28 10:34:13,685 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-28 10:34:13,686 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-28 10:34:13,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {15122#(<= |correct_version_#in~w| 11)} assume true; {15122#(<= |correct_version_#in~w| 11)} is VALID [2022-04-28 10:34:13,687 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-28 10:34:13,687 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-28 10:34:13,687 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-28 10:34:13,688 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-28 10:34:13,688 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-28 10:34:13,689 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-28 10:34:13,689 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-28 10:34:13,689 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-28 10:34:13,690 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-28 10:34:13,690 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-28 10:34:13,690 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-28 10:34:13,691 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-28 10:34:13,691 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-28 10:34:13,692 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-28 10:34:13,692 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-28 10:34:13,693 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-28 10:34:13,693 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-28 10:34:13,693 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-28 10:34:13,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {15068#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15068#true} is VALID [2022-04-28 10:34:13,693 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-28 10:34:13,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {15068#true} call #t~ret7 := main(); {15068#true} is VALID [2022-04-28 10:34:13,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15068#true} {15068#true} #93#return; {15068#true} is VALID [2022-04-28 10:34:13,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {15068#true} assume true; {15068#true} is VALID [2022-04-28 10:34:13,693 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-28 10:34:13,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {15068#true} call ULTIMATE.init(); {15068#true} is VALID [2022-04-28 10:34:13,694 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-28 10:34:13,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1892019125] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:13,694 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:13,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 57 [2022-04-28 10:34:13,694 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:13,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1172709266] [2022-04-28 10:34:13,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1172709266] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:13,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:13,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 10:34:13,694 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [817842227] [2022-04-28 10:34:13,694 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:13,695 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-28 10:34:13,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:13,695 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-28 10:34:13,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:13,749 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 10:34:13,749 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:13,750 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 10:34:13,750 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=509, Invalid=2683, Unknown=0, NotChecked=0, Total=3192 [2022-04-28 10:34:13,750 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-28 10:34:15,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:15,100 INFO L93 Difference]: Finished difference Result 82 states and 89 transitions. [2022-04-28 10:34:15,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 10:34:15,100 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-28 10:34:15,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:15,101 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-28 10:34:15,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 84 transitions. [2022-04-28 10:34:15,102 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-28 10:34:15,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 84 transitions. [2022-04-28 10:34:15,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 84 transitions. [2022-04-28 10:34:15,208 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:15,209 INFO L225 Difference]: With dead ends: 82 [2022-04-28 10:34:15,209 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 10:34:15,210 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 71 SyntacticMatches, 5 SemanticMatches, 75 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2317 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=902, Invalid=4950, Unknown=0, NotChecked=0, Total=5852 [2022-04-28 10:34:15,210 INFO L413 NwaCegarLoop]: 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-28 10:34:15,210 INFO L414 NwaCegarLoop]: 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-28 10:34:15,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 10:34:15,466 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 65. [2022-04-28 10:34:15,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:15,466 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-28 10:34:15,466 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-28 10:34:15,466 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-28 10:34:15,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:15,467 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-28 10:34:15,467 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-28 10:34:15,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:15,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:15,467 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-28 10:34:15,468 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-28 10:34:15,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:15,468 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-28 10:34:15,468 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-28 10:34:15,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:15,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:15,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:15,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:15,469 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-28 10:34:15,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 69 transitions. [2022-04-28 10:34:15,469 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 69 transitions. Word has length 53 [2022-04-28 10:34:15,469 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:15,469 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 69 transitions. [2022-04-28 10:34:15,470 INFO L496 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-28 10:34:15,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 69 transitions. [2022-04-28 10:34:15,554 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:15,554 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 69 transitions. [2022-04-28 10:34:15,561 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 10:34:15,561 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:15,561 INFO L195 NwaCegarLoop]: 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-28 10:34:15,579 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:15,762 WARN L477 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-28 10:34:15,762 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:15,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:15,762 INFO L85 PathProgramCache]: Analyzing trace with hash 205839347, now seen corresponding path program 19 times [2022-04-28 10:34:15,762 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:15,763 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [899349165] [2022-04-28 10:34:15,765 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:15,765 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:15,765 INFO L85 PathProgramCache]: Analyzing trace with hash 205839347, now seen corresponding path program 20 times [2022-04-28 10:34:15,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:15,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [780451208] [2022-04-28 10:34:15,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:15,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:15,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:15,807 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:15,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:15,811 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-28 10:34:15,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {15959#true} assume true; {15959#true} is VALID [2022-04-28 10:34:15,811 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15959#true} {15959#true} #93#return; {15959#true} is VALID [2022-04-28 10:34:15,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:15,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:15,897 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-28 10:34:15,898 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-28 10:34:15,898 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-28 10:34:15,898 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-28 10:34:15,899 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-28 10:34:15,899 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-28 10:34:15,899 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-28 10:34:15,900 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-28 10:34:15,900 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-28 10:34:15,900 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-28 10:34:15,901 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-28 10:34:15,901 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-28 10:34:15,902 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-28 10:34:15,902 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-28 10:34:15,902 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-28 10:34:15,902 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-28 10:34:15,903 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-28 10:34:15,903 INFO L290 TraceCheckUtils]: 17: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} assume true; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:15,904 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-28 10:34:15,904 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:34:15,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:16,054 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-28 10:34:16,054 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-28 10:34:16,054 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-28 10:34:16,055 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-28 10:34:16,055 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-28 10:34:16,056 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-28 10:34:16,056 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-28 10:34:16,056 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-28 10:34:16,057 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-28 10:34:16,057 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-28 10:34:16,058 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-28 10:34:16,058 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-28 10:34:16,058 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-28 10:34:16,059 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-28 10:34:16,059 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-28 10:34:16,060 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-28 10:34:16,060 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-28 10:34:16,060 INFO L290 TraceCheckUtils]: 17: Hoare triple {16022#(<= |student_version_#in~w| 11)} assume true; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-28 10:34:16,061 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-28 10:34:16,062 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-28 10:34:16,062 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-28 10:34:16,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {15959#true} assume true; {15959#true} is VALID [2022-04-28 10:34:16,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15959#true} {15959#true} #93#return; {15959#true} is VALID [2022-04-28 10:34:16,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {15959#true} call #t~ret7 := main(); {15959#true} is VALID [2022-04-28 10:34:16,062 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-28 10:34:16,062 INFO L290 TraceCheckUtils]: 6: Hoare triple {15959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15959#true} is VALID [2022-04-28 10:34:16,062 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-28 10:34:16,063 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-28 10:34:16,063 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-28 10:34:16,063 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-28 10:34:16,064 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-28 10:34:16,064 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-28 10:34:16,064 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-28 10:34:16,065 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-28 10:34:16,065 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-28 10:34:16,066 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-28 10:34:16,066 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-28 10:34:16,066 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-28 10:34:16,067 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-28 10:34:16,067 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-28 10:34:16,067 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-28 10:34:16,068 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-28 10:34:16,068 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-28 10:34:16,068 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-28 10:34:16,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} assume true; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:16,069 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-28 10:34:16,070 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-28 10:34:16,070 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-28 10:34:16,070 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-28 10:34:16,070 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-28 10:34:16,071 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-28 10:34:16,071 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-28 10:34:16,071 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-28 10:34:16,072 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-28 10:34:16,072 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-28 10:34:16,072 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-28 10:34:16,073 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-28 10:34:16,073 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-28 10:34:16,074 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-28 10:34:16,074 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-28 10:34:16,074 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-28 10:34:16,075 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-28 10:34:16,075 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-28 10:34:16,075 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-28 10:34:16,076 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-28 10:34:16,076 INFO L290 TraceCheckUtils]: 46: Hoare triple {16022#(<= |student_version_#in~w| 11)} assume true; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-28 10:34:16,077 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-28 10:34:16,077 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-28 10:34:16,077 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-28 10:34:16,077 INFO L290 TraceCheckUtils]: 50: Hoare triple {15960#false} ~cond := #in~cond; {15960#false} is VALID [2022-04-28 10:34:16,077 INFO L290 TraceCheckUtils]: 51: Hoare triple {15960#false} assume 0 == ~cond; {15960#false} is VALID [2022-04-28 10:34:16,077 INFO L290 TraceCheckUtils]: 52: Hoare triple {15960#false} assume !false; {15960#false} is VALID [2022-04-28 10:34:16,077 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-28 10:34:16,077 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:16,077 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [780451208] [2022-04-28 10:34:16,077 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [780451208] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:16,077 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [796904884] [2022-04-28 10:34:16,077 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:34:16,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:16,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:16,079 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:16,079 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 10:34:16,136 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:34:16,136 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:16,137 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 10:34:16,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:16,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:17,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {15959#true} call ULTIMATE.init(); {15959#true} is VALID [2022-04-28 10:34:17,128 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-28 10:34:17,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {15959#true} assume true; {15959#true} is VALID [2022-04-28 10:34:17,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15959#true} {15959#true} #93#return; {15959#true} is VALID [2022-04-28 10:34:17,128 INFO L272 TraceCheckUtils]: 4: Hoare triple {15959#true} call #t~ret7 := main(); {15959#true} is VALID [2022-04-28 10:34:17,128 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-28 10:34:17,128 INFO L290 TraceCheckUtils]: 6: Hoare triple {15959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15959#true} is VALID [2022-04-28 10:34:17,128 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-28 10:34:17,131 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-28 10:34:17,132 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-28 10:34:17,132 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-28 10:34:17,132 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-28 10:34:17,133 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-28 10:34:17,133 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-28 10:34:17,133 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-28 10:34:17,134 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-28 10:34:17,134 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-28 10:34:17,135 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-28 10:34:17,135 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-28 10:34:17,135 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-28 10:34:17,136 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-28 10:34:17,136 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-28 10:34:17,136 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-28 10:34:17,137 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-28 10:34:17,137 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-28 10:34:17,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} assume true; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:17,138 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-28 10:34:17,138 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-28 10:34:17,139 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-28 10:34:17,139 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-28 10:34:17,139 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-28 10:34:17,139 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-28 10:34:17,140 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-28 10:34:17,140 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-28 10:34:17,141 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-28 10:34:17,141 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-28 10:34:17,141 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-28 10:34:17,142 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-28 10:34:17,142 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-28 10:34:17,142 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-28 10:34:17,143 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-28 10:34:17,143 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-28 10:34:17,143 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-28 10:34:17,144 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-28 10:34:17,144 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-28 10:34:17,144 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-28 10:34:17,145 INFO L290 TraceCheckUtils]: 46: Hoare triple {16022#(<= |student_version_#in~w| 11)} assume true; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-28 10:34:17,145 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-28 10:34:17,145 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-28 10:34:17,146 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-28 10:34:17,146 INFO L290 TraceCheckUtils]: 50: Hoare triple {15960#false} ~cond := #in~cond; {15960#false} is VALID [2022-04-28 10:34:17,146 INFO L290 TraceCheckUtils]: 51: Hoare triple {15960#false} assume 0 == ~cond; {15960#false} is VALID [2022-04-28 10:34:17,146 INFO L290 TraceCheckUtils]: 52: Hoare triple {15960#false} assume !false; {15960#false} is VALID [2022-04-28 10:34:17,146 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-28 10:34:17,146 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:23,262 INFO L290 TraceCheckUtils]: 52: Hoare triple {15960#false} assume !false; {15960#false} is VALID [2022-04-28 10:34:23,262 INFO L290 TraceCheckUtils]: 51: Hoare triple {15960#false} assume 0 == ~cond; {15960#false} is VALID [2022-04-28 10:34:23,262 INFO L290 TraceCheckUtils]: 50: Hoare triple {15960#false} ~cond := #in~cond; {15960#false} is VALID [2022-04-28 10:34:23,262 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-28 10:34:23,262 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-28 10:34:23,263 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-28 10:34:23,263 INFO L290 TraceCheckUtils]: 46: Hoare triple {16022#(<= |student_version_#in~w| 11)} assume true; {16022#(<= |student_version_#in~w| 11)} is VALID [2022-04-28 10:34:23,263 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-28 10:34:23,264 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-28 10:34:23,264 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-28 10:34:23,264 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-28 10:34:23,265 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-28 10:34:23,265 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-28 10:34:23,266 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-28 10:34:23,266 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-28 10:34:23,266 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-28 10:34:23,267 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-28 10:34:23,267 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-28 10:34:23,267 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-28 10:34:23,268 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-28 10:34:23,268 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-28 10:34:23,268 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-28 10:34:23,269 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-28 10:34:23,269 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-28 10:34:23,269 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-28 10:34:23,270 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-28 10:34:23,270 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-28 10:34:23,271 INFO L290 TraceCheckUtils]: 25: Hoare triple {16012#(<= 12 |correct_version_#in~w|)} assume true; {16012#(<= 12 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:23,271 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-28 10:34:23,271 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-28 10:34:23,271 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-28 10:34:23,272 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-28 10:34:23,272 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-28 10:34:23,273 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-28 10:34:23,273 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-28 10:34:23,273 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-28 10:34:23,274 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-28 10:34:23,274 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-28 10:34:23,274 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-28 10:34:23,275 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-28 10:34:23,275 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-28 10:34:23,275 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-28 10:34:23,276 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-28 10:34:23,276 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-28 10:34:23,276 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-28 10:34:23,276 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-28 10:34:23,277 INFO L290 TraceCheckUtils]: 6: Hoare triple {15959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {15959#true} is VALID [2022-04-28 10:34:23,277 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-28 10:34:23,277 INFO L272 TraceCheckUtils]: 4: Hoare triple {15959#true} call #t~ret7 := main(); {15959#true} is VALID [2022-04-28 10:34:23,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15959#true} {15959#true} #93#return; {15959#true} is VALID [2022-04-28 10:34:23,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {15959#true} assume true; {15959#true} is VALID [2022-04-28 10:34:23,277 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-28 10:34:23,277 INFO L272 TraceCheckUtils]: 0: Hoare triple {15959#true} call ULTIMATE.init(); {15959#true} is VALID [2022-04-28 10:34:23,277 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-28 10:34:23,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [796904884] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:23,277 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:23,277 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 22, 22] total 57 [2022-04-28 10:34:23,277 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:23,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [899349165] [2022-04-28 10:34:23,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [899349165] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:23,278 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:23,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 10:34:23,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1563860261] [2022-04-28 10:34:23,278 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:23,278 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-28 10:34:23,278 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:23,278 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-28 10:34:23,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:23,312 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 10:34:23,312 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:23,312 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 10:34:23,312 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=509, Invalid=2683, Unknown=0, NotChecked=0, Total=3192 [2022-04-28 10:34:23,312 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-28 10:34:24,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:24,774 INFO L93 Difference]: Finished difference Result 77 states and 82 transitions. [2022-04-28 10:34:24,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 10:34:24,774 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-28 10:34:24,774 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:24,774 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-28 10:34:24,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 77 transitions. [2022-04-28 10:34:24,775 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-28 10:34:24,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 77 transitions. [2022-04-28 10:34:24,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 77 transitions. [2022-04-28 10:34:24,845 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:24,846 INFO L225 Difference]: With dead ends: 77 [2022-04-28 10:34:24,846 INFO L226 Difference]: Without dead ends: 68 [2022-04-28 10:34:24,847 INFO L412 NwaCegarLoop]: 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-28 10:34:24,848 INFO L413 NwaCegarLoop]: 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-28 10:34:24,848 INFO L414 NwaCegarLoop]: 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-28 10:34:24,848 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-28 10:34:25,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 68. [2022-04-28 10:34:25,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:25,162 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-28 10:34:25,163 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-28 10:34:25,163 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-28 10:34:25,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:25,163 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-28 10:34:25,163 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-28 10:34:25,164 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:25,164 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:25,164 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-28 10:34:25,164 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-28 10:34:25,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:25,165 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-28 10:34:25,165 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-28 10:34:25,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:25,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:25,165 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:25,165 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:25,165 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-28 10:34:25,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 73 transitions. [2022-04-28 10:34:25,166 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 73 transitions. Word has length 53 [2022-04-28 10:34:25,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:25,166 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 73 transitions. [2022-04-28 10:34:25,166 INFO L496 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-28 10:34:25,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 73 transitions. [2022-04-28 10:34:25,260 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-28 10:34:25,260 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2022-04-28 10:34:25,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 10:34:25,260 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:25,260 INFO L195 NwaCegarLoop]: 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-28 10:34:25,277 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:25,475 WARN L477 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-28 10:34:25,475 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:25,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:25,476 INFO L85 PathProgramCache]: Analyzing trace with hash -1484104203, now seen corresponding path program 21 times [2022-04-28 10:34:25,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:25,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [46959776] [2022-04-28 10:34:25,478 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:25,478 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:25,478 INFO L85 PathProgramCache]: Analyzing trace with hash -1484104203, now seen corresponding path program 22 times [2022-04-28 10:34:25,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:25,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [786608883] [2022-04-28 10:34:25,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:25,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:25,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:25,512 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:25,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:25,517 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-28 10:34:25,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {16840#true} assume true; {16840#true} is VALID [2022-04-28 10:34:25,517 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16840#true} {16840#true} #93#return; {16840#true} is VALID [2022-04-28 10:34:25,517 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:25,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:25,616 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-28 10:34:25,616 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-28 10:34:25,617 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-28 10:34:25,617 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-28 10:34:25,618 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-28 10:34:25,618 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-28 10:34:25,618 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-28 10:34:25,619 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-28 10:34:25,619 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-28 10:34:25,619 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-28 10:34:25,620 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-28 10:34:25,620 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-28 10:34:25,620 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-28 10:34:25,621 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-28 10:34:25,621 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-28 10:34:25,621 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-28 10:34:25,622 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-28 10:34:25,622 INFO L290 TraceCheckUtils]: 17: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume true; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-28 10:34:25,623 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-28 10:34:25,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 10:34:25,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:25,776 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-28 10:34:25,776 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-28 10:34:25,776 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-28 10:34:25,777 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-28 10:34:25,777 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-28 10:34:25,778 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-28 10:34:25,778 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-28 10:34:25,778 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-28 10:34:25,779 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-28 10:34:25,779 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-28 10:34:25,779 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-28 10:34:25,780 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-28 10:34:25,780 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-28 10:34:25,780 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-28 10:34:25,781 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-28 10:34:25,781 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-28 10:34:25,782 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-28 10:34:25,782 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-28 10:34:25,782 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-28 10:34:25,782 INFO L290 TraceCheckUtils]: 19: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume true; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-28 10:34:25,783 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-28 10:34:25,784 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-28 10:34:25,784 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-28 10:34:25,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {16840#true} assume true; {16840#true} is VALID [2022-04-28 10:34:25,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16840#true} {16840#true} #93#return; {16840#true} is VALID [2022-04-28 10:34:25,784 INFO L272 TraceCheckUtils]: 4: Hoare triple {16840#true} call #t~ret7 := main(); {16840#true} is VALID [2022-04-28 10:34:25,784 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-28 10:34:25,784 INFO L290 TraceCheckUtils]: 6: Hoare triple {16840#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {16840#true} is VALID [2022-04-28 10:34:25,784 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-28 10:34:25,784 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-28 10:34:25,785 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-28 10:34:25,785 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-28 10:34:25,786 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-28 10:34:25,786 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-28 10:34:25,786 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-28 10:34:25,787 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-28 10:34:25,787 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-28 10:34:25,787 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-28 10:34:25,788 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-28 10:34:25,788 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-28 10:34:25,788 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-28 10:34:25,789 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-28 10:34:25,789 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-28 10:34:25,790 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-28 10:34:25,790 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-28 10:34:25,790 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-28 10:34:25,790 INFO L290 TraceCheckUtils]: 25: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume true; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-28 10:34:25,791 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-28 10:34:25,792 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-28 10:34:25,792 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-28 10:34:25,792 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-28 10:34:25,792 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-28 10:34:25,793 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-28 10:34:25,793 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-28 10:34:25,793 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-28 10:34:25,794 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-28 10:34:25,794 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-28 10:34:25,794 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-28 10:34:25,795 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-28 10:34:25,795 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-28 10:34:25,795 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-28 10:34:25,796 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-28 10:34:25,796 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-28 10:34:25,797 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-28 10:34:25,797 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-28 10:34:25,797 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-28 10:34:25,798 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-28 10:34:25,798 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-28 10:34:25,798 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-28 10:34:25,798 INFO L290 TraceCheckUtils]: 48: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume true; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-28 10:34:25,799 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-28 10:34:25,799 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-28 10:34:25,799 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-28 10:34:25,800 INFO L290 TraceCheckUtils]: 52: Hoare triple {16841#false} ~cond := #in~cond; {16841#false} is VALID [2022-04-28 10:34:25,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {16841#false} assume 0 == ~cond; {16841#false} is VALID [2022-04-28 10:34:25,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {16841#false} assume !false; {16841#false} is VALID [2022-04-28 10:34:25,800 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-28 10:34:25,800 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:25,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [786608883] [2022-04-28 10:34:25,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [786608883] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:25,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [868993238] [2022-04-28 10:34:25,800 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:34:25,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:25,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:25,801 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:25,802 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 10:34:25,863 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:34:25,863 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:25,864 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 10:34:25,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:25,875 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:26,529 INFO L272 TraceCheckUtils]: 0: Hoare triple {16840#true} call ULTIMATE.init(); {16840#true} is VALID [2022-04-28 10:34:26,529 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-28 10:34:26,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {16840#true} assume true; {16840#true} is VALID [2022-04-28 10:34:26,529 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16840#true} {16840#true} #93#return; {16840#true} is VALID [2022-04-28 10:34:26,529 INFO L272 TraceCheckUtils]: 4: Hoare triple {16840#true} call #t~ret7 := main(); {16840#true} is VALID [2022-04-28 10:34:26,529 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-28 10:34:26,529 INFO L290 TraceCheckUtils]: 6: Hoare triple {16840#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {16840#true} is VALID [2022-04-28 10:34:26,529 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-28 10:34:26,541 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-28 10:34:26,541 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-28 10:34:26,542 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-28 10:34:26,542 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-28 10:34:26,542 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-28 10:34:26,543 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-28 10:34:26,543 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-28 10:34:26,544 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-28 10:34:26,544 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-28 10:34:26,544 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-28 10:34:26,545 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-28 10:34:26,545 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-28 10:34:26,545 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-28 10:34:26,546 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-28 10:34:26,546 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-28 10:34:26,546 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-28 10:34:26,547 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-28 10:34:26,547 INFO L290 TraceCheckUtils]: 25: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume true; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-28 10:34:26,548 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-28 10:34:26,548 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-28 10:34:26,548 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-28 10:34:26,549 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-28 10:34:26,549 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-28 10:34:26,549 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-28 10:34:26,550 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-28 10:34:26,550 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-28 10:34:26,550 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-28 10:34:26,551 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-28 10:34:26,551 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-28 10:34:26,552 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-28 10:34:26,552 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-28 10:34:26,552 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-28 10:34:26,553 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-28 10:34:26,553 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-28 10:34:26,553 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-28 10:34:26,554 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-28 10:34:26,554 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-28 10:34:26,554 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-28 10:34:26,554 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-28 10:34:26,555 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-28 10:34:26,555 INFO L290 TraceCheckUtils]: 48: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume true; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-28 10:34:26,556 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-28 10:34:26,556 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-28 10:34:26,556 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-28 10:34:26,556 INFO L290 TraceCheckUtils]: 52: Hoare triple {16841#false} ~cond := #in~cond; {16841#false} is VALID [2022-04-28 10:34:26,556 INFO L290 TraceCheckUtils]: 53: Hoare triple {16841#false} assume 0 == ~cond; {16841#false} is VALID [2022-04-28 10:34:26,556 INFO L290 TraceCheckUtils]: 54: Hoare triple {16841#false} assume !false; {16841#false} is VALID [2022-04-28 10:34:26,556 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-28 10:34:26,556 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:29,943 INFO L290 TraceCheckUtils]: 54: Hoare triple {16841#false} assume !false; {16841#false} is VALID [2022-04-28 10:34:29,944 INFO L290 TraceCheckUtils]: 53: Hoare triple {16841#false} assume 0 == ~cond; {16841#false} is VALID [2022-04-28 10:34:29,944 INFO L290 TraceCheckUtils]: 52: Hoare triple {16841#false} ~cond := #in~cond; {16841#false} is VALID [2022-04-28 10:34:29,944 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-28 10:34:29,944 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-28 10:34:29,945 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-28 10:34:29,945 INFO L290 TraceCheckUtils]: 48: Hoare triple {16906#(<= 13 |student_version_#in~w|)} assume true; {16906#(<= 13 |student_version_#in~w|)} is VALID [2022-04-28 10:34:29,945 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-28 10:34:29,945 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-28 10:34:29,946 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-28 10:34:29,946 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-28 10:34:29,946 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-28 10:34:29,947 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-28 10:34:29,947 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-28 10:34:29,947 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-28 10:34:29,948 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-28 10:34:29,948 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-28 10:34:29,948 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-28 10:34:29,949 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-28 10:34:29,949 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-28 10:34:29,949 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-28 10:34:29,950 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-28 10:34:29,950 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-28 10:34:29,950 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-28 10:34:29,951 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-28 10:34:29,951 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-28 10:34:29,951 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-28 10:34:29,952 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-28 10:34:29,952 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-28 10:34:29,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {16896#(<= |correct_version_#in~w| 12)} assume true; {16896#(<= |correct_version_#in~w| 12)} is VALID [2022-04-28 10:34:29,954 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-28 10:34:29,954 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-28 10:34:29,954 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-28 10:34:29,955 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-28 10:34:29,955 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-28 10:34:29,955 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-28 10:34:29,956 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-28 10:34:29,956 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-28 10:34:29,956 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-28 10:34:29,957 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-28 10:34:29,957 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-28 10:34:29,958 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-28 10:34:29,958 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-28 10:34:29,958 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-28 10:34:29,958 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-28 10:34:29,959 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-28 10:34:29,959 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-28 10:34:29,959 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-28 10:34:29,959 INFO L290 TraceCheckUtils]: 6: Hoare triple {16840#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {16840#true} is VALID [2022-04-28 10:34:29,959 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-28 10:34:29,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {16840#true} call #t~ret7 := main(); {16840#true} is VALID [2022-04-28 10:34:29,959 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16840#true} {16840#true} #93#return; {16840#true} is VALID [2022-04-28 10:34:29,959 INFO L290 TraceCheckUtils]: 2: Hoare triple {16840#true} assume true; {16840#true} is VALID [2022-04-28 10:34:29,959 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-28 10:34:29,960 INFO L272 TraceCheckUtils]: 0: Hoare triple {16840#true} call ULTIMATE.init(); {16840#true} is VALID [2022-04-28 10:34:29,960 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-28 10:34:29,960 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [868993238] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:29,960 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:29,960 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 21, 21] total 56 [2022-04-28 10:34:29,960 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:29,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [46959776] [2022-04-28 10:34:29,960 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [46959776] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:29,960 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:29,960 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-28 10:34:29,960 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [611540548] [2022-04-28 10:34:29,960 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:29,961 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-28 10:34:29,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:29,961 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-28 10:34:29,999 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-28 10:34:29,999 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-28 10:34:29,999 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:29,999 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-28 10:34:30,000 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=517, Invalid=2563, Unknown=0, NotChecked=0, Total=3080 [2022-04-28 10:34:30,000 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-28 10:34:31,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:31,221 INFO L93 Difference]: Finished difference Result 83 states and 88 transitions. [2022-04-28 10:34:31,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 10:34:31,221 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-28 10:34:31,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:31,222 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-28 10:34:31,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-28 10:34:31,222 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-28 10:34:31,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 80 transitions. [2022-04-28 10:34:31,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 80 transitions. [2022-04-28 10:34:31,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:31,281 INFO L225 Difference]: With dead ends: 83 [2022-04-28 10:34:31,282 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 10:34:31,282 INFO L412 NwaCegarLoop]: 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-28 10:34:31,283 INFO L413 NwaCegarLoop]: 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-28 10:34:31,283 INFO L414 NwaCegarLoop]: 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-28 10:34:31,283 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 10:34:31,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 67. [2022-04-28 10:34:31,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:31,605 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-28 10:34:31,606 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-28 10:34:31,606 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-28 10:34:31,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:31,607 INFO L93 Difference]: Finished difference Result 71 states and 75 transitions. [2022-04-28 10:34:31,607 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2022-04-28 10:34:31,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:31,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:31,607 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-28 10:34:31,607 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-28 10:34:31,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:31,608 INFO L93 Difference]: Finished difference Result 71 states and 75 transitions. [2022-04-28 10:34:31,608 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2022-04-28 10:34:31,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:31,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:31,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:31,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:31,608 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-28 10:34:31,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 71 transitions. [2022-04-28 10:34:31,609 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 71 transitions. Word has length 55 [2022-04-28 10:34:31,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:31,609 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 71 transitions. [2022-04-28 10:34:31,609 INFO L496 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-28 10:34:31,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 71 transitions. [2022-04-28 10:34:31,708 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:31,708 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 71 transitions. [2022-04-28 10:34:31,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 10:34:31,708 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:31,708 INFO L195 NwaCegarLoop]: 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-28 10:34:31,727 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:31,909 WARN L477 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-28 10:34:31,909 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:31,909 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:31,909 INFO L85 PathProgramCache]: Analyzing trace with hash -1172735403, now seen corresponding path program 21 times [2022-04-28 10:34:31,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:31,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2006242087] [2022-04-28 10:34:31,911 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:31,912 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:31,912 INFO L85 PathProgramCache]: Analyzing trace with hash -1172735403, now seen corresponding path program 22 times [2022-04-28 10:34:31,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:31,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [318396318] [2022-04-28 10:34:31,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:31,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:31,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:31,952 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:31,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:31,955 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-28 10:34:31,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {17748#true} assume true; {17748#true} is VALID [2022-04-28 10:34:31,955 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17748#true} {17748#true} #93#return; {17748#true} is VALID [2022-04-28 10:34:31,956 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:31,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:32,063 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-28 10:34:32,063 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-28 10:34:32,064 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-28 10:34:32,064 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-28 10:34:32,064 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-28 10:34:32,065 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-28 10:34:32,065 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-28 10:34:32,066 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-28 10:34:32,066 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-28 10:34:32,066 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-28 10:34:32,067 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-28 10:34:32,067 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-28 10:34:32,067 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-28 10:34:32,068 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-28 10:34:32,068 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-28 10:34:32,068 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-28 10:34:32,069 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-28 10:34:32,069 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-28 10:34:32,069 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-28 10:34:32,069 INFO L290 TraceCheckUtils]: 19: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume true; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:32,070 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-28 10:34:32,070 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-28 10:34:32,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:32,239 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-28 10:34:32,239 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-28 10:34:32,240 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-28 10:34:32,240 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-28 10:34:32,241 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-28 10:34:32,241 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-28 10:34:32,241 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-28 10:34:32,242 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-28 10:34:32,242 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-28 10:34:32,243 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-28 10:34:32,243 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-28 10:34:32,244 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-28 10:34:32,244 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-28 10:34:32,245 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-28 10:34:32,245 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-28 10:34:32,246 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-28 10:34:32,246 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-28 10:34:32,246 INFO L290 TraceCheckUtils]: 17: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume true; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-28 10:34:32,247 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-28 10:34:32,248 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-28 10:34:32,248 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-28 10:34:32,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {17748#true} assume true; {17748#true} is VALID [2022-04-28 10:34:32,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17748#true} {17748#true} #93#return; {17748#true} is VALID [2022-04-28 10:34:32,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {17748#true} call #t~ret7 := main(); {17748#true} is VALID [2022-04-28 10:34:32,248 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-28 10:34:32,248 INFO L290 TraceCheckUtils]: 6: Hoare triple {17748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {17748#true} is VALID [2022-04-28 10:34:32,248 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-28 10:34:32,248 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-28 10:34:32,249 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-28 10:34:32,249 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-28 10:34:32,249 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-28 10:34:32,250 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-28 10:34:32,250 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-28 10:34:32,251 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-28 10:34:32,251 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-28 10:34:32,251 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-28 10:34:32,252 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-28 10:34:32,252 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-28 10:34:32,253 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-28 10:34:32,253 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-28 10:34:32,253 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-28 10:34:32,254 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-28 10:34:32,254 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-28 10:34:32,254 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-28 10:34:32,255 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-28 10:34:32,255 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-28 10:34:32,255 INFO L290 TraceCheckUtils]: 27: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume true; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:32,256 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-28 10:34:32,256 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-28 10:34:32,257 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-28 10:34:32,257 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-28 10:34:32,257 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-28 10:34:32,257 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-28 10:34:32,258 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-28 10:34:32,258 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-28 10:34:32,259 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-28 10:34:32,259 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-28 10:34:32,259 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-28 10:34:32,260 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-28 10:34:32,260 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-28 10:34:32,260 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-28 10:34:32,261 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-28 10:34:32,261 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-28 10:34:32,262 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-28 10:34:32,262 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-28 10:34:32,262 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-28 10:34:32,263 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-28 10:34:32,263 INFO L290 TraceCheckUtils]: 48: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume true; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-28 10:34:32,264 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-28 10:34:32,264 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-28 10:34:32,264 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-28 10:34:32,264 INFO L290 TraceCheckUtils]: 52: Hoare triple {17749#false} ~cond := #in~cond; {17749#false} is VALID [2022-04-28 10:34:32,264 INFO L290 TraceCheckUtils]: 53: Hoare triple {17749#false} assume 0 == ~cond; {17749#false} is VALID [2022-04-28 10:34:32,264 INFO L290 TraceCheckUtils]: 54: Hoare triple {17749#false} assume !false; {17749#false} is VALID [2022-04-28 10:34:32,264 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-28 10:34:32,264 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:32,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [318396318] [2022-04-28 10:34:32,264 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [318396318] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:32,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1129211210] [2022-04-28 10:34:32,264 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:34:32,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:32,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:32,265 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:32,266 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 10:34:32,324 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:34:32,325 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:32,325 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-28 10:34:32,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:32,340 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:33,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {17748#true} call ULTIMATE.init(); {17748#true} is VALID [2022-04-28 10:34:33,190 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-28 10:34:33,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {17748#true} assume true; {17748#true} is VALID [2022-04-28 10:34:33,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17748#true} {17748#true} #93#return; {17748#true} is VALID [2022-04-28 10:34:33,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {17748#true} call #t~ret7 := main(); {17748#true} is VALID [2022-04-28 10:34:33,190 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-28 10:34:33,190 INFO L290 TraceCheckUtils]: 6: Hoare triple {17748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {17748#true} is VALID [2022-04-28 10:34:33,190 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-28 10:34:33,190 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-28 10:34:33,191 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-28 10:34:33,191 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-28 10:34:33,191 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-28 10:34:33,192 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-28 10:34:33,192 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-28 10:34:33,192 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-28 10:34:33,193 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-28 10:34:33,193 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-28 10:34:33,193 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-28 10:34:33,194 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-28 10:34:33,194 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-28 10:34:33,194 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-28 10:34:33,195 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-28 10:34:33,195 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-28 10:34:33,195 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-28 10:34:33,196 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-28 10:34:33,196 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-28 10:34:33,196 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-28 10:34:33,196 INFO L290 TraceCheckUtils]: 27: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume true; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:33,197 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-28 10:34:33,197 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-28 10:34:33,197 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-28 10:34:33,198 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-28 10:34:33,198 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-28 10:34:33,198 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-28 10:34:33,199 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-28 10:34:33,199 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-28 10:34:33,199 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-28 10:34:33,200 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-28 10:34:33,200 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-28 10:34:33,200 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-28 10:34:33,201 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-28 10:34:33,201 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-28 10:34:33,202 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-28 10:34:33,202 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-28 10:34:33,202 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-28 10:34:33,203 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-28 10:34:33,203 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-28 10:34:33,203 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-28 10:34:33,203 INFO L290 TraceCheckUtils]: 48: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume true; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-28 10:34:33,204 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-28 10:34:33,204 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-28 10:34:33,204 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-28 10:34:33,204 INFO L290 TraceCheckUtils]: 52: Hoare triple {17749#false} ~cond := #in~cond; {17749#false} is VALID [2022-04-28 10:34:33,204 INFO L290 TraceCheckUtils]: 53: Hoare triple {17749#false} assume 0 == ~cond; {17749#false} is VALID [2022-04-28 10:34:33,204 INFO L290 TraceCheckUtils]: 54: Hoare triple {17749#false} assume !false; {17749#false} is VALID [2022-04-28 10:34:33,204 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-28 10:34:33,205 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:36,395 INFO L290 TraceCheckUtils]: 54: Hoare triple {17749#false} assume !false; {17749#false} is VALID [2022-04-28 10:34:36,395 INFO L290 TraceCheckUtils]: 53: Hoare triple {17749#false} assume 0 == ~cond; {17749#false} is VALID [2022-04-28 10:34:36,395 INFO L290 TraceCheckUtils]: 52: Hoare triple {17749#false} ~cond := #in~cond; {17749#false} is VALID [2022-04-28 10:34:36,395 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-28 10:34:36,395 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-28 10:34:36,396 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-28 10:34:36,396 INFO L290 TraceCheckUtils]: 48: Hoare triple {17814#(<= |student_version_#in~w| 12)} assume true; {17814#(<= |student_version_#in~w| 12)} is VALID [2022-04-28 10:34:36,396 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-28 10:34:36,397 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-28 10:34:36,397 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-28 10:34:36,397 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-28 10:34:36,398 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-28 10:34:36,398 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-28 10:34:36,398 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-28 10:34:36,399 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-28 10:34:36,399 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-28 10:34:36,399 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-28 10:34:36,400 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-28 10:34:36,400 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-28 10:34:36,400 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-28 10:34:36,401 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-28 10:34:36,401 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-28 10:34:36,401 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-28 10:34:36,402 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-28 10:34:36,402 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-28 10:34:36,402 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-28 10:34:36,403 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-28 10:34:36,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {17804#(<= 13 |correct_version_#in~w|)} assume true; {17804#(<= 13 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:36,403 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-28 10:34:36,404 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-28 10:34:36,404 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-28 10:34:36,404 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-28 10:34:36,404 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-28 10:34:36,405 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-28 10:34:36,405 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-28 10:34:36,406 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-28 10:34:36,406 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-28 10:34:36,406 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-28 10:34:36,407 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-28 10:34:36,407 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-28 10:34:36,407 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-28 10:34:36,408 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-28 10:34:36,408 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-28 10:34:36,409 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-28 10:34:36,409 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-28 10:34:36,409 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-28 10:34:36,410 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-28 10:34:36,410 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-28 10:34:36,410 INFO L290 TraceCheckUtils]: 6: Hoare triple {17748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {17748#true} is VALID [2022-04-28 10:34:36,410 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-28 10:34:36,410 INFO L272 TraceCheckUtils]: 4: Hoare triple {17748#true} call #t~ret7 := main(); {17748#true} is VALID [2022-04-28 10:34:36,410 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17748#true} {17748#true} #93#return; {17748#true} is VALID [2022-04-28 10:34:36,410 INFO L290 TraceCheckUtils]: 2: Hoare triple {17748#true} assume true; {17748#true} is VALID [2022-04-28 10:34:36,410 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-28 10:34:36,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {17748#true} call ULTIMATE.init(); {17748#true} is VALID [2022-04-28 10:34:36,410 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-28 10:34:36,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1129211210] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:36,410 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:36,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 21, 21] total 56 [2022-04-28 10:34:36,411 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:36,411 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2006242087] [2022-04-28 10:34:36,411 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2006242087] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:36,411 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:36,411 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-28 10:34:36,411 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1514664573] [2022-04-28 10:34:36,411 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:36,411 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-28 10:34:36,411 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:36,411 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-28 10:34:36,444 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-28 10:34:36,444 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-28 10:34:36,444 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:36,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-28 10:34:36,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=517, Invalid=2563, Unknown=0, NotChecked=0, Total=3080 [2022-04-28 10:34:36,445 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-28 10:34:37,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:37,768 INFO L93 Difference]: Finished difference Result 77 states and 80 transitions. [2022-04-28 10:34:37,768 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 10:34:37,769 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-28 10:34:37,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:37,769 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-28 10:34:37,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 72 transitions. [2022-04-28 10:34:37,769 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-28 10:34:37,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 72 transitions. [2022-04-28 10:34:37,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 72 transitions. [2022-04-28 10:34:37,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:37,830 INFO L225 Difference]: With dead ends: 77 [2022-04-28 10:34:37,830 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 10:34:37,831 INFO L412 NwaCegarLoop]: 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-28 10:34:37,831 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 83 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 491 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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-28 10:34:37,831 INFO L414 NwaCegarLoop]: 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-28 10:34:37,831 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 10:34:38,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 66. [2022-04-28 10:34:38,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:38,165 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-28 10:34:38,165 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-28 10:34:38,165 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-28 10:34:38,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:38,166 INFO L93 Difference]: Finished difference Result 67 states and 70 transitions. [2022-04-28 10:34:38,166 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 70 transitions. [2022-04-28 10:34:38,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:38,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:38,167 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-28 10:34:38,167 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-28 10:34:38,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:38,167 INFO L93 Difference]: Finished difference Result 67 states and 70 transitions. [2022-04-28 10:34:38,167 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 70 transitions. [2022-04-28 10:34:38,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:38,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:38,168 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:38,168 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:38,168 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-28 10:34:38,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 69 transitions. [2022-04-28 10:34:38,168 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 69 transitions. Word has length 55 [2022-04-28 10:34:38,168 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:38,169 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 69 transitions. [2022-04-28 10:34:38,169 INFO L496 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-28 10:34:38,169 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 69 transitions. [2022-04-28 10:34:38,268 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:38,269 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 69 transitions. [2022-04-28 10:34:38,269 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 10:34:38,284 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:38,284 INFO L195 NwaCegarLoop]: 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-28 10:34:38,300 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:38,498 WARN L477 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-28 10:34:38,498 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:38,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:38,499 INFO L85 PathProgramCache]: Analyzing trace with hash 829449303, now seen corresponding path program 23 times [2022-04-28 10:34:38,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:38,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1668758941] [2022-04-28 10:34:38,501 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:38,501 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:38,501 INFO L85 PathProgramCache]: Analyzing trace with hash 829449303, now seen corresponding path program 24 times [2022-04-28 10:34:38,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:38,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1978541126] [2022-04-28 10:34:38,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:38,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:38,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:38,566 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:38,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:38,570 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-28 10:34:38,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {18634#true} assume true; {18634#true} is VALID [2022-04-28 10:34:38,570 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18634#true} {18634#true} #93#return; {18634#true} is VALID [2022-04-28 10:34:38,570 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:38,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:38,719 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-28 10:34:38,720 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-28 10:34:38,720 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-28 10:34:38,721 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-28 10:34:38,721 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-28 10:34:38,722 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-28 10:34:38,722 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-28 10:34:38,723 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-28 10:34:38,723 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-28 10:34:38,724 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-28 10:34:38,724 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-28 10:34:38,725 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-28 10:34:38,725 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-28 10:34:38,725 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-28 10:34:38,726 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-28 10:34:38,726 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-28 10:34:38,726 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-28 10:34:38,727 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-28 10:34:38,727 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-28 10:34:38,727 INFO L290 TraceCheckUtils]: 19: Hoare triple {18693#(<= |correct_version_#in~w| 13)} assume true; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-28 10:34:38,728 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-28 10:34:38,728 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-28 10:34:38,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:38,867 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-28 10:34:38,868 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-28 10:34:38,868 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-28 10:34:38,869 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-28 10:34:38,869 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-28 10:34:38,869 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-28 10:34:38,870 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-28 10:34:38,870 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-28 10:34:38,871 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-28 10:34:38,871 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-28 10:34:38,871 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-28 10:34:38,872 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-28 10:34:38,872 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-28 10:34:38,873 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-28 10:34:38,873 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-28 10:34:38,874 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-28 10:34:38,874 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-28 10:34:38,874 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-28 10:34:38,875 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-28 10:34:38,875 INFO L290 TraceCheckUtils]: 19: Hoare triple {18703#(<= 14 |student_version_#in~w|)} assume true; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-28 10:34:38,876 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-28 10:34:38,876 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-28 10:34:38,877 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-28 10:34:38,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {18634#true} assume true; {18634#true} is VALID [2022-04-28 10:34:38,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18634#true} {18634#true} #93#return; {18634#true} is VALID [2022-04-28 10:34:38,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {18634#true} call #t~ret7 := main(); {18634#true} is VALID [2022-04-28 10:34:38,877 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-28 10:34:38,877 INFO L290 TraceCheckUtils]: 6: Hoare triple {18634#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {18634#true} is VALID [2022-04-28 10:34:38,877 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-28 10:34:38,877 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-28 10:34:38,878 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-28 10:34:38,878 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-28 10:34:38,879 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-28 10:34:38,879 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-28 10:34:38,879 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-28 10:34:38,880 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-28 10:34:38,880 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-28 10:34:38,881 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-28 10:34:38,881 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-28 10:34:38,881 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-28 10:34:38,882 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-28 10:34:38,882 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-28 10:34:38,883 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-28 10:34:38,883 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-28 10:34:38,884 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-28 10:34:38,884 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-28 10:34:38,884 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-28 10:34:38,885 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-28 10:34:38,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {18693#(<= |correct_version_#in~w| 13)} assume true; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-28 10:34:38,886 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-28 10:34:38,886 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-28 10:34:38,886 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-28 10:34:38,887 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-28 10:34:38,887 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-28 10:34:38,887 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-28 10:34:38,888 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-28 10:34:38,888 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-28 10:34:38,889 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-28 10:34:38,889 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-28 10:34:38,889 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-28 10:34:38,890 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-28 10:34:38,890 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-28 10:34:38,891 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-28 10:34:38,891 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-28 10:34:38,891 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-28 10:34:38,892 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-28 10:34:38,892 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-28 10:34:38,893 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-28 10:34:38,893 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-28 10:34:38,893 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-28 10:34:38,894 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-28 10:34:38,894 INFO L290 TraceCheckUtils]: 50: Hoare triple {18703#(<= 14 |student_version_#in~w|)} assume true; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-28 10:34:38,895 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-28 10:34:38,895 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-28 10:34:38,895 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-28 10:34:38,895 INFO L290 TraceCheckUtils]: 54: Hoare triple {18635#false} ~cond := #in~cond; {18635#false} is VALID [2022-04-28 10:34:38,895 INFO L290 TraceCheckUtils]: 55: Hoare triple {18635#false} assume 0 == ~cond; {18635#false} is VALID [2022-04-28 10:34:38,895 INFO L290 TraceCheckUtils]: 56: Hoare triple {18635#false} assume !false; {18635#false} is VALID [2022-04-28 10:34:38,895 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-28 10:34:38,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:38,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1978541126] [2022-04-28 10:34:38,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1978541126] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:38,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [15349023] [2022-04-28 10:34:38,896 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:34:38,896 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:38,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:38,897 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:38,898 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 10:34:38,967 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-28 10:34:38,967 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:38,968 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 10:34:38,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:38,995 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:39,841 INFO L272 TraceCheckUtils]: 0: Hoare triple {18634#true} call ULTIMATE.init(); {18634#true} is VALID [2022-04-28 10:34:39,841 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-28 10:34:39,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {18634#true} assume true; {18634#true} is VALID [2022-04-28 10:34:39,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18634#true} {18634#true} #93#return; {18634#true} is VALID [2022-04-28 10:34:39,841 INFO L272 TraceCheckUtils]: 4: Hoare triple {18634#true} call #t~ret7 := main(); {18634#true} is VALID [2022-04-28 10:34:39,842 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-28 10:34:39,842 INFO L290 TraceCheckUtils]: 6: Hoare triple {18634#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {18634#true} is VALID [2022-04-28 10:34:39,842 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-28 10:34:39,842 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-28 10:34:39,842 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-28 10:34:39,843 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-28 10:34:39,843 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-28 10:34:39,844 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-28 10:34:39,844 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-28 10:34:39,844 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-28 10:34:39,845 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-28 10:34:39,845 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-28 10:34:39,846 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-28 10:34:39,846 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-28 10:34:39,846 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-28 10:34:39,847 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-28 10:34:39,847 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-28 10:34:39,848 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-28 10:34:39,848 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-28 10:34:39,848 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-28 10:34:39,849 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-28 10:34:39,849 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-28 10:34:39,849 INFO L290 TraceCheckUtils]: 27: Hoare triple {18693#(<= |correct_version_#in~w| 13)} assume true; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-28 10:34:39,850 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-28 10:34:39,851 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-28 10:34:39,851 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-28 10:34:39,851 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-28 10:34:39,851 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-28 10:34:39,852 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-28 10:34:39,852 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-28 10:34:39,852 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-28 10:34:39,853 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-28 10:34:39,853 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-28 10:34:39,854 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-28 10:34:39,854 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-28 10:34:39,854 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-28 10:34:39,855 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-28 10:34:39,855 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-28 10:34:39,855 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-28 10:34:39,856 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-28 10:34:39,856 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-28 10:34:39,857 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-28 10:34:39,857 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-28 10:34:39,857 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-28 10:34:39,858 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-28 10:34:39,858 INFO L290 TraceCheckUtils]: 50: Hoare triple {18703#(<= 14 |student_version_#in~w|)} assume true; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-28 10:34:39,859 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-28 10:34:39,859 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-28 10:34:39,859 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-28 10:34:39,859 INFO L290 TraceCheckUtils]: 54: Hoare triple {18635#false} ~cond := #in~cond; {18635#false} is VALID [2022-04-28 10:34:39,859 INFO L290 TraceCheckUtils]: 55: Hoare triple {18635#false} assume 0 == ~cond; {18635#false} is VALID [2022-04-28 10:34:39,859 INFO L290 TraceCheckUtils]: 56: Hoare triple {18635#false} assume !false; {18635#false} is VALID [2022-04-28 10:34:39,859 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-28 10:34:39,859 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:46,779 INFO L290 TraceCheckUtils]: 56: Hoare triple {18635#false} assume !false; {18635#false} is VALID [2022-04-28 10:34:46,779 INFO L290 TraceCheckUtils]: 55: Hoare triple {18635#false} assume 0 == ~cond; {18635#false} is VALID [2022-04-28 10:34:46,779 INFO L290 TraceCheckUtils]: 54: Hoare triple {18635#false} ~cond := #in~cond; {18635#false} is VALID [2022-04-28 10:34:46,779 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-28 10:34:46,779 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-28 10:34:46,780 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-28 10:34:46,780 INFO L290 TraceCheckUtils]: 50: Hoare triple {18703#(<= 14 |student_version_#in~w|)} assume true; {18703#(<= 14 |student_version_#in~w|)} is VALID [2022-04-28 10:34:46,781 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-28 10:34:46,781 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-28 10:34:46,781 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-28 10:34:46,782 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-28 10:34:46,782 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-28 10:34:46,782 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-28 10:34:46,783 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-28 10:34:46,783 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-28 10:34:46,784 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-28 10:34:46,784 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-28 10:34:46,784 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-28 10:34:46,785 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-28 10:34:46,785 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-28 10:34:46,786 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-28 10:34:46,786 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-28 10:34:46,786 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-28 10:34:46,787 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-28 10:34:46,787 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-28 10:34:46,787 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-28 10:34:46,787 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-28 10:34:46,788 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-28 10:34:46,789 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-28 10:34:46,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {18693#(<= |correct_version_#in~w| 13)} assume true; {18693#(<= |correct_version_#in~w| 13)} is VALID [2022-04-28 10:34:46,789 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-28 10:34:46,790 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-28 10:34:46,790 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-28 10:34:46,790 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-28 10:34:46,791 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-28 10:34:46,791 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-28 10:34:46,792 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-28 10:34:46,792 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-28 10:34:46,792 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-28 10:34:46,793 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-28 10:34:46,793 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-28 10:34:46,794 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-28 10:34:46,794 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-28 10:34:46,794 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-28 10:34:46,795 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-28 10:34:46,795 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-28 10:34:46,796 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-28 10:34:46,796 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-28 10:34:46,796 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-28 10:34:46,796 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-28 10:34:46,796 INFO L290 TraceCheckUtils]: 6: Hoare triple {18634#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {18634#true} is VALID [2022-04-28 10:34:46,797 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-28 10:34:46,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {18634#true} call #t~ret7 := main(); {18634#true} is VALID [2022-04-28 10:34:46,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18634#true} {18634#true} #93#return; {18634#true} is VALID [2022-04-28 10:34:46,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {18634#true} assume true; {18634#true} is VALID [2022-04-28 10:34:46,797 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-28 10:34:46,797 INFO L272 TraceCheckUtils]: 0: Hoare triple {18634#true} call ULTIMATE.init(); {18634#true} is VALID [2022-04-28 10:34:46,803 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-28 10:34:46,803 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [15349023] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:46,803 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:46,803 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 63 [2022-04-28 10:34:46,803 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:46,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1668758941] [2022-04-28 10:34:46,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1668758941] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:46,804 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:46,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 10:34:46,804 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1662115195] [2022-04-28 10:34:46,804 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:46,804 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-28 10:34:46,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:46,804 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-28 10:34:46,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:46,838 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 10:34:46,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:46,838 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 10:34:46,839 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=623, Invalid=3283, Unknown=0, NotChecked=0, Total=3906 [2022-04-28 10:34:46,839 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-28 10:34:48,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:48,166 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2022-04-28 10:34:48,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 10:34:48,166 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-28 10:34:48,166 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:48,166 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-28 10:34:48,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 88 transitions. [2022-04-28 10:34:48,167 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-28 10:34:48,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 88 transitions. [2022-04-28 10:34:48,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 88 transitions. [2022-04-28 10:34:48,239 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-28 10:34:48,240 INFO L225 Difference]: With dead ends: 86 [2022-04-28 10:34:48,240 INFO L226 Difference]: Without dead ends: 75 [2022-04-28 10:34:48,241 INFO L412 NwaCegarLoop]: 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-28 10:34:48,242 INFO L413 NwaCegarLoop]: 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-28 10:34:48,242 INFO L414 NwaCegarLoop]: 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-28 10:34:48,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-28 10:34:48,611 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 69. [2022-04-28 10:34:48,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:48,612 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-28 10:34:48,612 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-28 10:34:48,612 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-28 10:34:48,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:48,613 INFO L93 Difference]: Finished difference Result 75 states and 81 transitions. [2022-04-28 10:34:48,613 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 81 transitions. [2022-04-28 10:34:48,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:48,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:48,613 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-28 10:34:48,613 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-28 10:34:48,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:48,614 INFO L93 Difference]: Finished difference Result 75 states and 81 transitions. [2022-04-28 10:34:48,614 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 81 transitions. [2022-04-28 10:34:48,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:48,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:48,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:48,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:48,614 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-28 10:34:48,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 73 transitions. [2022-04-28 10:34:48,615 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 73 transitions. Word has length 57 [2022-04-28 10:34:48,615 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:48,615 INFO L495 AbstractCegarLoop]: Abstraction has 69 states and 73 transitions. [2022-04-28 10:34:48,615 INFO L496 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-28 10:34:48,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 73 transitions. [2022-04-28 10:34:48,720 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-28 10:34:48,720 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 73 transitions. [2022-04-28 10:34:48,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 10:34:48,720 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:34:48,720 INFO L195 NwaCegarLoop]: 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-28 10:34:48,749 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 10:34:48,949 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 10:34:48,950 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:34:48,950 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:34:48,950 INFO L85 PathProgramCache]: Analyzing trace with hash 424150547, now seen corresponding path program 23 times [2022-04-28 10:34:48,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:48,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1564049516] [2022-04-28 10:34:48,952 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:34:48,952 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:34:48,952 INFO L85 PathProgramCache]: Analyzing trace with hash 424150547, now seen corresponding path program 24 times [2022-04-28 10:34:48,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:34:48,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [853117448] [2022-04-28 10:34:48,953 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:34:48,953 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:34:48,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:48,992 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:34:48,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:48,995 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-28 10:34:48,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {19587#true} assume true; {19587#true} is VALID [2022-04-28 10:34:48,995 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {19587#true} {19587#true} #93#return; {19587#true} is VALID [2022-04-28 10:34:48,995 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:34:49,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:49,117 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-28 10:34:49,117 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-28 10:34:49,118 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-28 10:34:49,118 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-28 10:34:49,118 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-28 10:34:49,119 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-28 10:34:49,119 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-28 10:34:49,120 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-28 10:34:49,120 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-28 10:34:49,120 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-28 10:34:49,121 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-28 10:34:49,121 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-28 10:34:49,121 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-28 10:34:49,122 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-28 10:34:49,122 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-28 10:34:49,123 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-28 10:34:49,123 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-28 10:34:49,123 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-28 10:34:49,123 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-28 10:34:49,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} assume true; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:49,125 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-28 10:34:49,125 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-28 10:34:49,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:49,299 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-28 10:34:49,299 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-28 10:34:49,300 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-28 10:34:49,300 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-28 10:34:49,300 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-28 10:34:49,301 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-28 10:34:49,301 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-28 10:34:49,302 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-28 10:34:49,302 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-28 10:34:49,302 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-28 10:34:49,303 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-28 10:34:49,303 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-28 10:34:49,303 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-28 10:34:49,304 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-28 10:34:49,304 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-28 10:34:49,305 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-28 10:34:49,305 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-28 10:34:49,305 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-28 10:34:49,306 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-28 10:34:49,306 INFO L290 TraceCheckUtils]: 19: Hoare triple {19656#(<= |student_version_#in~w| 13)} assume true; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-28 10:34:49,307 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-28 10:34:49,307 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-28 10:34:49,307 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-28 10:34:49,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {19587#true} assume true; {19587#true} is VALID [2022-04-28 10:34:49,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19587#true} {19587#true} #93#return; {19587#true} is VALID [2022-04-28 10:34:49,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {19587#true} call #t~ret7 := main(); {19587#true} is VALID [2022-04-28 10:34:49,308 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-28 10:34:49,308 INFO L290 TraceCheckUtils]: 6: Hoare triple {19587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {19587#true} is VALID [2022-04-28 10:34:49,308 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-28 10:34:49,308 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-28 10:34:49,308 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-28 10:34:49,309 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-28 10:34:49,309 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-28 10:34:49,309 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-28 10:34:49,310 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-28 10:34:49,310 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-28 10:34:49,310 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-28 10:34:49,311 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-28 10:34:49,311 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-28 10:34:49,312 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-28 10:34:49,312 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-28 10:34:49,312 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-28 10:34:49,313 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-28 10:34:49,313 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-28 10:34:49,313 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-28 10:34:49,314 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-28 10:34:49,314 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-28 10:34:49,314 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-28 10:34:49,315 INFO L290 TraceCheckUtils]: 27: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} assume true; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:49,315 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-28 10:34:49,316 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-28 10:34:49,316 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-28 10:34:49,316 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-28 10:34:49,317 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-28 10:34:49,317 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-28 10:34:49,317 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-28 10:34:49,318 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-28 10:34:49,318 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-28 10:34:49,318 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-28 10:34:49,319 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-28 10:34:49,319 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-28 10:34:49,320 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-28 10:34:49,320 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-28 10:34:49,320 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-28 10:34:49,321 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-28 10:34:49,321 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-28 10:34:49,321 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-28 10:34:49,322 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-28 10:34:49,322 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-28 10:34:49,323 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-28 10:34:49,323 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-28 10:34:49,323 INFO L290 TraceCheckUtils]: 50: Hoare triple {19656#(<= |student_version_#in~w| 13)} assume true; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-28 10:34:49,324 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-28 10:34:49,324 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-28 10:34:49,324 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-28 10:34:49,324 INFO L290 TraceCheckUtils]: 54: Hoare triple {19588#false} ~cond := #in~cond; {19588#false} is VALID [2022-04-28 10:34:49,324 INFO L290 TraceCheckUtils]: 55: Hoare triple {19588#false} assume 0 == ~cond; {19588#false} is VALID [2022-04-28 10:34:49,324 INFO L290 TraceCheckUtils]: 56: Hoare triple {19588#false} assume !false; {19588#false} is VALID [2022-04-28 10:34:49,325 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-28 10:34:49,325 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:34:49,325 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [853117448] [2022-04-28 10:34:49,325 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [853117448] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:34:49,325 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1654820441] [2022-04-28 10:34:49,325 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:34:49,325 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:34:49,325 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:34:49,326 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:34:49,372 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 10:34:49,413 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-28 10:34:49,414 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:34:49,415 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 10:34:49,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:34:49,427 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:34:50,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {19587#true} call ULTIMATE.init(); {19587#true} is VALID [2022-04-28 10:34:50,493 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-28 10:34:50,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {19587#true} assume true; {19587#true} is VALID [2022-04-28 10:34:50,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19587#true} {19587#true} #93#return; {19587#true} is VALID [2022-04-28 10:34:50,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {19587#true} call #t~ret7 := main(); {19587#true} is VALID [2022-04-28 10:34:50,493 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-28 10:34:50,493 INFO L290 TraceCheckUtils]: 6: Hoare triple {19587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {19587#true} is VALID [2022-04-28 10:34:50,493 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-28 10:34:50,494 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-28 10:34:50,494 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-28 10:34:50,494 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-28 10:34:50,495 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-28 10:34:50,495 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-28 10:34:50,495 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-28 10:34:50,496 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-28 10:34:50,496 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-28 10:34:50,496 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-28 10:34:50,497 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-28 10:34:50,497 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-28 10:34:50,497 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-28 10:34:50,502 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-28 10:34:50,503 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-28 10:34:50,503 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-28 10:34:50,503 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-28 10:34:50,504 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-28 10:34:50,504 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-28 10:34:50,505 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-28 10:34:50,505 INFO L290 TraceCheckUtils]: 27: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} assume true; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:50,506 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-28 10:34:50,506 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-28 10:34:50,506 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-28 10:34:50,507 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-28 10:34:50,507 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-28 10:34:50,507 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-28 10:34:50,508 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-28 10:34:50,508 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-28 10:34:50,509 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-28 10:34:50,509 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-28 10:34:50,509 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-28 10:34:50,510 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-28 10:34:50,510 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-28 10:34:50,511 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-28 10:34:50,511 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-28 10:34:50,511 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-28 10:34:50,512 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-28 10:34:50,512 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-28 10:34:50,513 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-28 10:34:50,513 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-28 10:34:50,513 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-28 10:34:50,514 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-28 10:34:50,514 INFO L290 TraceCheckUtils]: 50: Hoare triple {19656#(<= |student_version_#in~w| 13)} assume true; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-28 10:34:50,515 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-28 10:34:50,515 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-28 10:34:50,515 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-28 10:34:50,515 INFO L290 TraceCheckUtils]: 54: Hoare triple {19588#false} ~cond := #in~cond; {19588#false} is VALID [2022-04-28 10:34:50,515 INFO L290 TraceCheckUtils]: 55: Hoare triple {19588#false} assume 0 == ~cond; {19588#false} is VALID [2022-04-28 10:34:50,515 INFO L290 TraceCheckUtils]: 56: Hoare triple {19588#false} assume !false; {19588#false} is VALID [2022-04-28 10:34:50,515 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-28 10:34:50,515 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:34:58,055 INFO L290 TraceCheckUtils]: 56: Hoare triple {19588#false} assume !false; {19588#false} is VALID [2022-04-28 10:34:58,055 INFO L290 TraceCheckUtils]: 55: Hoare triple {19588#false} assume 0 == ~cond; {19588#false} is VALID [2022-04-28 10:34:58,055 INFO L290 TraceCheckUtils]: 54: Hoare triple {19588#false} ~cond := #in~cond; {19588#false} is VALID [2022-04-28 10:34:58,055 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-28 10:34:58,055 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-28 10:34:58,056 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-28 10:34:58,056 INFO L290 TraceCheckUtils]: 50: Hoare triple {19656#(<= |student_version_#in~w| 13)} assume true; {19656#(<= |student_version_#in~w| 13)} is VALID [2022-04-28 10:34:58,057 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-28 10:34:58,057 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-28 10:34:58,057 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-28 10:34:58,058 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-28 10:34:58,058 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-28 10:34:58,059 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-28 10:34:58,059 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-28 10:34:58,059 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-28 10:34:58,060 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-28 10:34:58,060 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-28 10:34:58,060 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-28 10:34:58,061 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-28 10:34:58,061 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-28 10:34:58,061 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-28 10:34:58,062 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-28 10:34:58,062 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-28 10:34:58,062 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-28 10:34:58,063 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-28 10:34:58,063 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-28 10:34:58,063 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-28 10:34:58,064 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-28 10:34:58,064 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-28 10:34:58,065 INFO L290 TraceCheckUtils]: 27: Hoare triple {19645#(<= 14 |correct_version_#in~w|)} assume true; {19645#(<= 14 |correct_version_#in~w|)} is VALID [2022-04-28 10:34:58,065 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-28 10:34:58,065 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-28 10:34:58,065 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-28 10:34:58,066 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-28 10:34:58,066 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-28 10:34:58,067 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-28 10:34:58,067 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-28 10:34:58,067 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-28 10:34:58,068 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-28 10:34:58,068 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-28 10:34:58,068 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-28 10:34:58,069 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-28 10:34:58,069 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-28 10:34:58,069 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-28 10:34:58,070 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-28 10:34:58,070 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-28 10:34:58,071 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-28 10:34:58,071 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-28 10:34:58,071 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-28 10:34:58,071 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-28 10:34:58,071 INFO L290 TraceCheckUtils]: 6: Hoare triple {19587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {19587#true} is VALID [2022-04-28 10:34:58,071 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-28 10:34:58,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {19587#true} call #t~ret7 := main(); {19587#true} is VALID [2022-04-28 10:34:58,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19587#true} {19587#true} #93#return; {19587#true} is VALID [2022-04-28 10:34:58,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {19587#true} assume true; {19587#true} is VALID [2022-04-28 10:34:58,072 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-28 10:34:58,072 INFO L272 TraceCheckUtils]: 0: Hoare triple {19587#true} call ULTIMATE.init(); {19587#true} is VALID [2022-04-28 10:34:58,072 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-28 10:34:58,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1654820441] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:34:58,072 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:34:58,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 24, 24] total 63 [2022-04-28 10:34:58,072 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:34:58,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1564049516] [2022-04-28 10:34:58,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1564049516] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:34:58,072 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:34:58,073 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 10:34:58,073 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1989553305] [2022-04-28 10:34:58,073 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:34:58,073 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-28 10:34:58,073 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:34:58,073 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-28 10:34:58,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:58,107 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 10:34:58,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:34:58,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 10:34:58,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=623, Invalid=3283, Unknown=0, NotChecked=0, Total=3906 [2022-04-28 10:34:58,108 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-28 10:34:59,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:59,550 INFO L93 Difference]: Finished difference Result 81 states and 86 transitions. [2022-04-28 10:34:59,550 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 10:34:59,550 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-28 10:34:59,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:34:59,550 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-28 10:34:59,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 81 transitions. [2022-04-28 10:34:59,551 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-28 10:34:59,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 81 transitions. [2022-04-28 10:34:59,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 81 transitions. [2022-04-28 10:34:59,614 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:34:59,615 INFO L225 Difference]: With dead ends: 81 [2022-04-28 10:34:59,615 INFO L226 Difference]: Without dead ends: 72 [2022-04-28 10:34:59,615 INFO L412 NwaCegarLoop]: 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-28 10:34:59,616 INFO L413 NwaCegarLoop]: 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-28 10:34:59,616 INFO L414 NwaCegarLoop]: 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-28 10:34:59,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-28 10:34:59,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 72. [2022-04-28 10:34:59,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:34:59,988 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-28 10:34:59,988 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-28 10:34:59,988 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-28 10:34:59,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:59,989 INFO L93 Difference]: Finished difference Result 72 states and 77 transitions. [2022-04-28 10:34:59,989 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 77 transitions. [2022-04-28 10:34:59,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:59,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:59,989 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-28 10:34:59,989 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-28 10:34:59,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:34:59,990 INFO L93 Difference]: Finished difference Result 72 states and 77 transitions. [2022-04-28 10:34:59,990 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 77 transitions. [2022-04-28 10:34:59,990 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:34:59,990 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:34:59,990 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:34:59,990 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:34:59,990 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-28 10:34:59,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 77 transitions. [2022-04-28 10:34:59,991 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 77 transitions. Word has length 57 [2022-04-28 10:34:59,991 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:34:59,991 INFO L495 AbstractCegarLoop]: Abstraction has 72 states and 77 transitions. [2022-04-28 10:34:59,991 INFO L496 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-28 10:34:59,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 72 states and 77 transitions. [2022-04-28 10:35:00,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:00,115 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 77 transitions. [2022-04-28 10:35:00,115 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 10:35:00,115 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:00,115 INFO L195 NwaCegarLoop]: 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-28 10:35:00,132 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:00,316 WARN L477 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-28 10:35:00,316 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:00,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:00,316 INFO L85 PathProgramCache]: Analyzing trace with hash -2140438507, now seen corresponding path program 25 times [2022-04-28 10:35:00,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:00,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [684877034] [2022-04-28 10:35:00,318 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:00,318 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:00,318 INFO L85 PathProgramCache]: Analyzing trace with hash -2140438507, now seen corresponding path program 26 times [2022-04-28 10:35:00,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:00,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1226958865] [2022-04-28 10:35:00,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:00,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:00,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:00,358 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:00,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:00,360 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-28 10:35:00,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {20530#true} assume true; {20530#true} is VALID [2022-04-28 10:35:00,360 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {20530#true} {20530#true} #93#return; {20530#true} is VALID [2022-04-28 10:35:00,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:00,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:00,464 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-28 10:35:00,464 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-28 10:35:00,465 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-28 10:35:00,465 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-28 10:35:00,465 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-28 10:35:00,466 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-28 10:35:00,466 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-28 10:35:00,466 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-28 10:35:00,467 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-28 10:35:00,467 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-28 10:35:00,467 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-28 10:35:00,468 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-28 10:35:00,468 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-28 10:35:00,469 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-28 10:35:00,469 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-28 10:35:00,469 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-28 10:35:00,470 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-28 10:35:00,470 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-28 10:35:00,470 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-28 10:35:00,470 INFO L290 TraceCheckUtils]: 19: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume true; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-28 10:35:00,471 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-28 10:35:00,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2022-04-28 10:35:00,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:00,612 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-28 10:35:00,612 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-28 10:35:00,613 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-28 10:35:00,613 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-28 10:35:00,613 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-28 10:35:00,614 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-28 10:35:00,614 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-28 10:35:00,614 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-28 10:35:00,615 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-28 10:35:00,615 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-28 10:35:00,615 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-28 10:35:00,616 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-28 10:35:00,616 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-28 10:35:00,616 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-28 10:35:00,617 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-28 10:35:00,617 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-28 10:35:00,617 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-28 10:35:00,618 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-28 10:35:00,618 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-28 10:35:00,618 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-28 10:35:00,619 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-28 10:35:00,619 INFO L290 TraceCheckUtils]: 21: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume true; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-28 10:35:00,620 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-28 10:35:00,620 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-28 10:35:00,620 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-28 10:35:00,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {20530#true} assume true; {20530#true} is VALID [2022-04-28 10:35:00,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20530#true} {20530#true} #93#return; {20530#true} is VALID [2022-04-28 10:35:00,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {20530#true} call #t~ret7 := main(); {20530#true} is VALID [2022-04-28 10:35:00,621 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-28 10:35:00,621 INFO L290 TraceCheckUtils]: 6: Hoare triple {20530#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {20530#true} is VALID [2022-04-28 10:35:00,621 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-28 10:35:00,621 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-28 10:35:00,621 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-28 10:35:00,622 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-28 10:35:00,622 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-28 10:35:00,622 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-28 10:35:00,623 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-28 10:35:00,623 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-28 10:35:00,623 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-28 10:35:00,624 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-28 10:35:00,624 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-28 10:35:00,624 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-28 10:35:00,625 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-28 10:35:00,625 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-28 10:35:00,625 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-28 10:35:00,626 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-28 10:35:00,626 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-28 10:35:00,626 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-28 10:35:00,627 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-28 10:35:00,627 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-28 10:35:00,627 INFO L290 TraceCheckUtils]: 27: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume true; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-28 10:35:00,628 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-28 10:35:00,628 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-28 10:35:00,628 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-28 10:35:00,629 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-28 10:35:00,629 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-28 10:35:00,629 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-28 10:35:00,630 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-28 10:35:00,630 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-28 10:35:00,630 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-28 10:35:00,631 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-28 10:35:00,631 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-28 10:35:00,631 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-28 10:35:00,632 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-28 10:35:00,632 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-28 10:35:00,632 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-28 10:35:00,633 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-28 10:35:00,633 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-28 10:35:00,633 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-28 10:35:00,634 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-28 10:35:00,634 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-28 10:35:00,634 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-28 10:35:00,635 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-28 10:35:00,635 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-28 10:35:00,635 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-28 10:35:00,635 INFO L290 TraceCheckUtils]: 52: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume true; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-28 10:35:00,636 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-28 10:35:00,636 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-28 10:35:00,636 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-28 10:35:00,636 INFO L290 TraceCheckUtils]: 56: Hoare triple {20531#false} ~cond := #in~cond; {20531#false} is VALID [2022-04-28 10:35:00,636 INFO L290 TraceCheckUtils]: 57: Hoare triple {20531#false} assume 0 == ~cond; {20531#false} is VALID [2022-04-28 10:35:00,636 INFO L290 TraceCheckUtils]: 58: Hoare triple {20531#false} assume !false; {20531#false} is VALID [2022-04-28 10:35:00,637 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-28 10:35:00,637 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:00,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1226958865] [2022-04-28 10:35:00,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1226958865] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:00,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [974818471] [2022-04-28 10:35:00,637 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:35:00,637 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:00,637 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:00,639 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:00,639 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 10:35:00,699 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:35:00,699 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:00,700 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 10:35:00,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:00,713 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:01,414 INFO L272 TraceCheckUtils]: 0: Hoare triple {20530#true} call ULTIMATE.init(); {20530#true} is VALID [2022-04-28 10:35:01,415 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-28 10:35:01,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {20530#true} assume true; {20530#true} is VALID [2022-04-28 10:35:01,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20530#true} {20530#true} #93#return; {20530#true} is VALID [2022-04-28 10:35:01,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {20530#true} call #t~ret7 := main(); {20530#true} is VALID [2022-04-28 10:35:01,415 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-28 10:35:01,415 INFO L290 TraceCheckUtils]: 6: Hoare triple {20530#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {20530#true} is VALID [2022-04-28 10:35:01,415 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-28 10:35:01,415 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-28 10:35:01,416 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-28 10:35:01,416 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-28 10:35:01,416 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-28 10:35:01,417 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-28 10:35:01,417 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-28 10:35:01,417 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-28 10:35:01,418 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-28 10:35:01,418 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-28 10:35:01,418 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-28 10:35:01,419 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-28 10:35:01,419 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-28 10:35:01,419 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-28 10:35:01,420 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-28 10:35:01,420 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-28 10:35:01,420 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-28 10:35:01,421 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-28 10:35:01,421 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-28 10:35:01,421 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-28 10:35:01,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume true; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-28 10:35:01,422 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-28 10:35:01,423 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-28 10:35:01,423 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-28 10:35:01,423 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-28 10:35:01,423 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-28 10:35:01,424 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-28 10:35:01,424 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-28 10:35:01,424 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-28 10:35:01,425 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-28 10:35:01,425 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-28 10:35:01,425 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-28 10:35:01,426 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-28 10:35:01,426 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-28 10:35:01,426 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-28 10:35:01,427 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-28 10:35:01,427 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-28 10:35:01,428 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-28 10:35:01,428 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-28 10:35:01,428 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-28 10:35:01,429 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-28 10:35:01,429 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-28 10:35:01,429 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-28 10:35:01,429 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-28 10:35:01,430 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-28 10:35:01,430 INFO L290 TraceCheckUtils]: 52: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume true; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-28 10:35:01,431 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-28 10:35:01,431 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-28 10:35:01,431 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-28 10:35:01,431 INFO L290 TraceCheckUtils]: 56: Hoare triple {20531#false} ~cond := #in~cond; {20531#false} is VALID [2022-04-28 10:35:01,431 INFO L290 TraceCheckUtils]: 57: Hoare triple {20531#false} assume 0 == ~cond; {20531#false} is VALID [2022-04-28 10:35:01,431 INFO L290 TraceCheckUtils]: 58: Hoare triple {20531#false} assume !false; {20531#false} is VALID [2022-04-28 10:35:01,431 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-28 10:35:01,431 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:05,021 INFO L290 TraceCheckUtils]: 58: Hoare triple {20531#false} assume !false; {20531#false} is VALID [2022-04-28 10:35:05,021 INFO L290 TraceCheckUtils]: 57: Hoare triple {20531#false} assume 0 == ~cond; {20531#false} is VALID [2022-04-28 10:35:05,021 INFO L290 TraceCheckUtils]: 56: Hoare triple {20531#false} ~cond := #in~cond; {20531#false} is VALID [2022-04-28 10:35:05,021 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-28 10:35:05,021 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-28 10:35:05,022 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-28 10:35:05,022 INFO L290 TraceCheckUtils]: 52: Hoare triple {20602#(<= 15 |student_version_#in~w|)} assume true; {20602#(<= 15 |student_version_#in~w|)} is VALID [2022-04-28 10:35:05,023 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-28 10:35:05,024 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-28 10:35:05,024 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-28 10:35:05,024 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-28 10:35:05,024 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-28 10:35:05,025 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-28 10:35:05,025 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-28 10:35:05,025 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-28 10:35:05,026 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-28 10:35:05,026 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-28 10:35:05,026 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-28 10:35:05,027 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-28 10:35:05,027 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-28 10:35:05,028 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-28 10:35:05,028 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-28 10:35:05,028 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-28 10:35:05,029 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-28 10:35:05,029 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-28 10:35:05,029 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-28 10:35:05,030 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-28 10:35:05,030 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-28 10:35:05,030 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-28 10:35:05,031 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-28 10:35:05,031 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-28 10:35:05,032 INFO L290 TraceCheckUtils]: 27: Hoare triple {20591#(<= |correct_version_#in~w| 14)} assume true; {20591#(<= |correct_version_#in~w| 14)} is VALID [2022-04-28 10:35:05,032 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-28 10:35:05,032 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-28 10:35:05,033 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-28 10:35:05,033 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-28 10:35:05,033 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-28 10:35:05,034 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-28 10:35:05,034 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-28 10:35:05,034 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-28 10:35:05,035 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-28 10:35:05,035 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-28 10:35:05,035 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-28 10:35:05,036 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-28 10:35:05,036 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-28 10:35:05,036 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-28 10:35:05,037 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-28 10:35:05,037 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-28 10:35:05,037 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-28 10:35:05,038 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-28 10:35:05,038 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-28 10:35:05,038 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-28 10:35:05,038 INFO L290 TraceCheckUtils]: 6: Hoare triple {20530#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {20530#true} is VALID [2022-04-28 10:35:05,038 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-28 10:35:05,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {20530#true} call #t~ret7 := main(); {20530#true} is VALID [2022-04-28 10:35:05,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20530#true} {20530#true} #93#return; {20530#true} is VALID [2022-04-28 10:35:05,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {20530#true} assume true; {20530#true} is VALID [2022-04-28 10:35:05,038 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-28 10:35:05,039 INFO L272 TraceCheckUtils]: 0: Hoare triple {20530#true} call ULTIMATE.init(); {20530#true} is VALID [2022-04-28 10:35:05,039 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-28 10:35:05,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [974818471] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:05,039 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:05,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 23, 23] total 62 [2022-04-28 10:35:05,039 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:05,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [684877034] [2022-04-28 10:35:05,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [684877034] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:05,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:05,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 10:35:05,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [913191025] [2022-04-28 10:35:05,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:05,040 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-28 10:35:05,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:05,040 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-28 10:35:05,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:05,075 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 10:35:05,075 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:05,076 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 10:35:05,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=633, Invalid=3149, Unknown=0, NotChecked=0, Total=3782 [2022-04-28 10:35:05,076 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-28 10:35:06,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:06,581 INFO L93 Difference]: Finished difference Result 87 states and 92 transitions. [2022-04-28 10:35:06,581 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:35:06,581 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-28 10:35:06,581 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:06,581 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-28 10:35:06,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 84 transitions. [2022-04-28 10:35:06,582 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-28 10:35:06,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 84 transitions. [2022-04-28 10:35:06,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 84 transitions. [2022-04-28 10:35:06,649 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:06,650 INFO L225 Difference]: With dead ends: 87 [2022-04-28 10:35:06,650 INFO L226 Difference]: Without dead ends: 75 [2022-04-28 10:35:06,650 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 81 SyntacticMatches, 5 SemanticMatches, 81 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2875 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=1094, Invalid=5712, Unknown=0, NotChecked=0, Total=6806 [2022-04-28 10:35:06,651 INFO L413 NwaCegarLoop]: 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-28 10:35:06,651 INFO L414 NwaCegarLoop]: 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-28 10:35:06,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-28 10:35:07,033 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 71. [2022-04-28 10:35:07,033 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:07,033 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-28 10:35:07,033 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-28 10:35:07,034 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-28 10:35:07,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:07,034 INFO L93 Difference]: Finished difference Result 75 states and 79 transitions. [2022-04-28 10:35:07,034 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2022-04-28 10:35:07,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:07,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:07,035 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-28 10:35:07,035 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-28 10:35:07,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:07,036 INFO L93 Difference]: Finished difference Result 75 states and 79 transitions. [2022-04-28 10:35:07,036 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2022-04-28 10:35:07,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:07,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:07,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:07,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:07,036 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-28 10:35:07,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 75 transitions. [2022-04-28 10:35:07,037 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 75 transitions. Word has length 59 [2022-04-28 10:35:07,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:07,037 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 75 transitions. [2022-04-28 10:35:07,037 INFO L496 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-28 10:35:07,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 75 transitions. [2022-04-28 10:35:07,148 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-28 10:35:07,148 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2022-04-28 10:35:07,148 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 10:35:07,149 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:07,149 INFO L195 NwaCegarLoop]: 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-28 10:35:07,165 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:07,351 WARN L477 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-28 10:35:07,351 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:07,352 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:07,352 INFO L85 PathProgramCache]: Analyzing trace with hash 711228661, now seen corresponding path program 25 times [2022-04-28 10:35:07,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:07,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1366369283] [2022-04-28 10:35:07,355 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:07,355 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:07,355 INFO L85 PathProgramCache]: Analyzing trace with hash 711228661, now seen corresponding path program 26 times [2022-04-28 10:35:07,355 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:07,355 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1848509596] [2022-04-28 10:35:07,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:07,355 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:07,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:07,404 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:07,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:07,407 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-28 10:35:07,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {21500#true} assume true; {21500#true} is VALID [2022-04-28 10:35:07,407 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21500#true} {21500#true} #93#return; {21500#true} is VALID [2022-04-28 10:35:07,407 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:07,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:07,537 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-28 10:35:07,538 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-28 10:35:07,538 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-28 10:35:07,539 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-28 10:35:07,539 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-28 10:35:07,540 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-28 10:35:07,540 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-28 10:35:07,540 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-28 10:35:07,541 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-28 10:35:07,541 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-28 10:35:07,541 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-28 10:35:07,542 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-28 10:35:07,542 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-28 10:35:07,543 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-28 10:35:07,543 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-28 10:35:07,543 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-28 10:35:07,544 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-28 10:35:07,544 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-28 10:35:07,545 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-28 10:35:07,545 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-28 10:35:07,545 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-28 10:35:07,545 INFO L290 TraceCheckUtils]: 21: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume true; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:07,546 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-28 10:35:07,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-28 10:35:07,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:07,726 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-28 10:35:07,727 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-28 10:35:07,727 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-28 10:35:07,728 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-28 10:35:07,728 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-28 10:35:07,728 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-28 10:35:07,729 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-28 10:35:07,729 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-28 10:35:07,730 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-28 10:35:07,730 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-28 10:35:07,730 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-28 10:35:07,731 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-28 10:35:07,731 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-28 10:35:07,731 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-28 10:35:07,732 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-28 10:35:07,732 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-28 10:35:07,733 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-28 10:35:07,733 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-28 10:35:07,733 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-28 10:35:07,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume true; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-28 10:35:07,734 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-28 10:35:07,735 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-28 10:35:07,735 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-28 10:35:07,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {21500#true} assume true; {21500#true} is VALID [2022-04-28 10:35:07,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21500#true} {21500#true} #93#return; {21500#true} is VALID [2022-04-28 10:35:07,735 INFO L272 TraceCheckUtils]: 4: Hoare triple {21500#true} call #t~ret7 := main(); {21500#true} is VALID [2022-04-28 10:35:07,735 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-28 10:35:07,735 INFO L290 TraceCheckUtils]: 6: Hoare triple {21500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {21500#true} is VALID [2022-04-28 10:35:07,735 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-28 10:35:07,735 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-28 10:35:07,736 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-28 10:35:07,736 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-28 10:35:07,737 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-28 10:35:07,737 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-28 10:35:07,737 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-28 10:35:07,738 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-28 10:35:07,738 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-28 10:35:07,738 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-28 10:35:07,739 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-28 10:35:07,739 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-28 10:35:07,740 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-28 10:35:07,740 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-28 10:35:07,740 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-28 10:35:07,741 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-28 10:35:07,741 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-28 10:35:07,741 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-28 10:35:07,742 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-28 10:35:07,742 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-28 10:35:07,742 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-28 10:35:07,743 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-28 10:35:07,743 INFO L290 TraceCheckUtils]: 29: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume true; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:07,744 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-28 10:35:07,744 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-28 10:35:07,744 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-28 10:35:07,745 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-28 10:35:07,745 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-28 10:35:07,745 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-28 10:35:07,746 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-28 10:35:07,746 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-28 10:35:07,746 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-28 10:35:07,747 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-28 10:35:07,747 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-28 10:35:07,748 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-28 10:35:07,748 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-28 10:35:07,748 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-28 10:35:07,749 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-28 10:35:07,749 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-28 10:35:07,749 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-28 10:35:07,750 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-28 10:35:07,750 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-28 10:35:07,751 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-28 10:35:07,751 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-28 10:35:07,751 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-28 10:35:07,751 INFO L290 TraceCheckUtils]: 52: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume true; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-28 10:35:07,752 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-28 10:35:07,752 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-28 10:35:07,752 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-28 10:35:07,752 INFO L290 TraceCheckUtils]: 56: Hoare triple {21501#false} ~cond := #in~cond; {21501#false} is VALID [2022-04-28 10:35:07,752 INFO L290 TraceCheckUtils]: 57: Hoare triple {21501#false} assume 0 == ~cond; {21501#false} is VALID [2022-04-28 10:35:07,753 INFO L290 TraceCheckUtils]: 58: Hoare triple {21501#false} assume !false; {21501#false} is VALID [2022-04-28 10:35:07,753 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-28 10:35:07,753 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:07,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1848509596] [2022-04-28 10:35:07,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1848509596] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:07,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [341979719] [2022-04-28 10:35:07,753 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:35:07,753 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:07,753 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:07,754 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:07,756 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 10:35:07,825 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:35:07,826 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:07,826 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 10:35:07,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:07,840 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:08,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {21500#true} call ULTIMATE.init(); {21500#true} is VALID [2022-04-28 10:35:08,828 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-28 10:35:08,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {21500#true} assume true; {21500#true} is VALID [2022-04-28 10:35:08,829 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21500#true} {21500#true} #93#return; {21500#true} is VALID [2022-04-28 10:35:08,829 INFO L272 TraceCheckUtils]: 4: Hoare triple {21500#true} call #t~ret7 := main(); {21500#true} is VALID [2022-04-28 10:35:08,829 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-28 10:35:08,829 INFO L290 TraceCheckUtils]: 6: Hoare triple {21500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {21500#true} is VALID [2022-04-28 10:35:08,829 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-28 10:35:08,829 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-28 10:35:08,830 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-28 10:35:08,830 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-28 10:35:08,831 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-28 10:35:08,831 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-28 10:35:08,831 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-28 10:35:08,832 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-28 10:35:08,832 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-28 10:35:08,833 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-28 10:35:08,833 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-28 10:35:08,834 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-28 10:35:08,834 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-28 10:35:08,834 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-28 10:35:08,835 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-28 10:35:08,835 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-28 10:35:08,836 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-28 10:35:08,836 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-28 10:35:08,836 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-28 10:35:08,837 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-28 10:35:08,837 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-28 10:35:08,837 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-28 10:35:08,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume true; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:08,839 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-28 10:35:08,839 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-28 10:35:08,839 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-28 10:35:08,840 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-28 10:35:08,840 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-28 10:35:08,840 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-28 10:35:08,841 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-28 10:35:08,841 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-28 10:35:08,842 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-28 10:35:08,842 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-28 10:35:08,842 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-28 10:35:08,843 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-28 10:35:08,843 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-28 10:35:08,844 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-28 10:35:08,844 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-28 10:35:08,845 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-28 10:35:08,845 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-28 10:35:08,845 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-28 10:35:08,846 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-28 10:35:08,846 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-28 10:35:08,847 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-28 10:35:08,847 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-28 10:35:08,847 INFO L290 TraceCheckUtils]: 52: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume true; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-28 10:35:08,848 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-28 10:35:08,848 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-28 10:35:08,848 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-28 10:35:08,848 INFO L290 TraceCheckUtils]: 56: Hoare triple {21501#false} ~cond := #in~cond; {21501#false} is VALID [2022-04-28 10:35:08,848 INFO L290 TraceCheckUtils]: 57: Hoare triple {21501#false} assume 0 == ~cond; {21501#false} is VALID [2022-04-28 10:35:08,849 INFO L290 TraceCheckUtils]: 58: Hoare triple {21501#false} assume !false; {21501#false} is VALID [2022-04-28 10:35:08,849 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-28 10:35:08,849 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:12,267 INFO L290 TraceCheckUtils]: 58: Hoare triple {21501#false} assume !false; {21501#false} is VALID [2022-04-28 10:35:12,267 INFO L290 TraceCheckUtils]: 57: Hoare triple {21501#false} assume 0 == ~cond; {21501#false} is VALID [2022-04-28 10:35:12,267 INFO L290 TraceCheckUtils]: 56: Hoare triple {21501#false} ~cond := #in~cond; {21501#false} is VALID [2022-04-28 10:35:12,267 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-28 10:35:12,267 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-28 10:35:12,268 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-28 10:35:12,268 INFO L290 TraceCheckUtils]: 52: Hoare triple {21572#(<= |student_version_#in~w| 14)} assume true; {21572#(<= |student_version_#in~w| 14)} is VALID [2022-04-28 10:35:12,268 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-28 10:35:12,269 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-28 10:35:12,269 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-28 10:35:12,269 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-28 10:35:12,270 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-28 10:35:12,270 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-28 10:35:12,270 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-28 10:35:12,271 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-28 10:35:12,271 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-28 10:35:12,272 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-28 10:35:12,272 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-28 10:35:12,272 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-28 10:35:12,273 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-28 10:35:12,273 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-28 10:35:12,273 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-28 10:35:12,274 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-28 10:35:12,274 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-28 10:35:12,274 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-28 10:35:12,275 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-28 10:35:12,275 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-28 10:35:12,275 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-28 10:35:12,276 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-28 10:35:12,276 INFO L290 TraceCheckUtils]: 29: Hoare triple {21561#(<= 15 |correct_version_#in~w|)} assume true; {21561#(<= 15 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:12,276 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-28 10:35:12,277 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-28 10:35:12,277 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-28 10:35:12,277 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-28 10:35:12,277 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-28 10:35:12,278 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-28 10:35:12,278 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-28 10:35:12,279 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-28 10:35:12,279 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-28 10:35:12,279 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-28 10:35:12,280 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-28 10:35:12,280 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-28 10:35:12,280 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-28 10:35:12,281 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-28 10:35:12,281 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-28 10:35:12,281 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-28 10:35:12,282 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-28 10:35:12,282 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-28 10:35:12,282 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-28 10:35:12,283 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-28 10:35:12,283 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-28 10:35:12,283 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-28 10:35:12,283 INFO L290 TraceCheckUtils]: 6: Hoare triple {21500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {21500#true} is VALID [2022-04-28 10:35:12,283 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-28 10:35:12,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {21500#true} call #t~ret7 := main(); {21500#true} is VALID [2022-04-28 10:35:12,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21500#true} {21500#true} #93#return; {21500#true} is VALID [2022-04-28 10:35:12,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {21500#true} assume true; {21500#true} is VALID [2022-04-28 10:35:12,283 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-28 10:35:12,283 INFO L272 TraceCheckUtils]: 0: Hoare triple {21500#true} call ULTIMATE.init(); {21500#true} is VALID [2022-04-28 10:35:12,284 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-28 10:35:12,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [341979719] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:12,284 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:12,284 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 23, 23] total 62 [2022-04-28 10:35:12,284 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:12,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1366369283] [2022-04-28 10:35:12,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1366369283] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:12,284 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:12,284 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 10:35:12,284 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [704942818] [2022-04-28 10:35:12,284 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:12,285 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-28 10:35:12,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:12,285 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-28 10:35:12,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:12,321 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 10:35:12,322 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:12,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 10:35:12,323 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=633, Invalid=3149, Unknown=0, NotChecked=0, Total=3782 [2022-04-28 10:35:12,323 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-28 10:35:13,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:13,802 INFO L93 Difference]: Finished difference Result 81 states and 84 transitions. [2022-04-28 10:35:13,802 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 10:35:13,803 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-28 10:35:13,803 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:13,803 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-28 10:35:13,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 76 transitions. [2022-04-28 10:35:13,804 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-28 10:35:13,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 76 transitions. [2022-04-28 10:35:13,804 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 76 transitions. [2022-04-28 10:35:13,866 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-28 10:35:13,867 INFO L225 Difference]: With dead ends: 81 [2022-04-28 10:35:13,867 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 10:35:13,867 INFO L412 NwaCegarLoop]: 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-28 10:35:13,868 INFO L413 NwaCegarLoop]: 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-28 10:35:13,868 INFO L414 NwaCegarLoop]: 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-28 10:35:13,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 10:35:14,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 70. [2022-04-28 10:35:14,235 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:14,235 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-28 10:35:14,235 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-28 10:35:14,235 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-28 10:35:14,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:14,236 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-28 10:35:14,236 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-28 10:35:14,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:14,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:14,236 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-28 10:35:14,236 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-28 10:35:14,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:14,237 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-28 10:35:14,237 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-28 10:35:14,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:14,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:14,237 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:14,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:14,237 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-28 10:35:14,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 73 transitions. [2022-04-28 10:35:14,238 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 73 transitions. Word has length 59 [2022-04-28 10:35:14,238 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:14,238 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 73 transitions. [2022-04-28 10:35:14,238 INFO L496 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-28 10:35:14,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 73 transitions. [2022-04-28 10:35:14,337 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-28 10:35:14,337 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 73 transitions. [2022-04-28 10:35:14,338 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 10:35:14,338 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:14,338 INFO L195 NwaCegarLoop]: 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-28 10:35:14,355 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:14,538 WARN L477 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-28 10:35:14,538 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:14,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:14,539 INFO L85 PathProgramCache]: Analyzing trace with hash -1157284105, now seen corresponding path program 27 times [2022-04-28 10:35:14,539 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:14,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1296112152] [2022-04-28 10:35:14,541 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:14,541 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:14,541 INFO L85 PathProgramCache]: Analyzing trace with hash -1157284105, now seen corresponding path program 28 times [2022-04-28 10:35:14,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:14,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1733484789] [2022-04-28 10:35:14,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:14,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:14,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:14,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:14,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:14,577 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-28 10:35:14,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {22448#true} assume true; {22448#true} is VALID [2022-04-28 10:35:14,577 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {22448#true} {22448#true} #93#return; {22448#true} is VALID [2022-04-28 10:35:14,577 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:14,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:14,718 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-28 10:35:14,719 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-28 10:35:14,719 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-28 10:35:14,719 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-28 10:35:14,720 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-28 10:35:14,720 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-28 10:35:14,720 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-28 10:35:14,721 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-28 10:35:14,721 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-28 10:35:14,721 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-28 10:35:14,722 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-28 10:35:14,722 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-28 10:35:14,722 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-28 10:35:14,723 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-28 10:35:14,723 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-28 10:35:14,723 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-28 10:35:14,724 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-28 10:35:14,724 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-28 10:35:14,724 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-28 10:35:14,725 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-28 10:35:14,725 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-28 10:35:14,725 INFO L290 TraceCheckUtils]: 21: Hoare triple {22512#(<= |correct_version_#in~w| 15)} assume true; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-28 10:35:14,726 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-28 10:35:14,726 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-28 10:35:14,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:14,872 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-28 10:35:14,873 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-28 10:35:14,873 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-28 10:35:14,873 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-28 10:35:14,874 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-28 10:35:14,874 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-28 10:35:14,875 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-28 10:35:14,875 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-28 10:35:14,875 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-28 10:35:14,876 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-28 10:35:14,876 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-28 10:35:14,876 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-28 10:35:14,877 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-28 10:35:14,877 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-28 10:35:14,878 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-28 10:35:14,878 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-28 10:35:14,878 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-28 10:35:14,879 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-28 10:35:14,879 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-28 10:35:14,879 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-28 10:35:14,880 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-28 10:35:14,880 INFO L290 TraceCheckUtils]: 21: Hoare triple {22523#(<= 16 |student_version_#in~w|)} assume true; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-28 10:35:14,881 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-28 10:35:14,881 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-28 10:35:14,881 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-28 10:35:14,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {22448#true} assume true; {22448#true} is VALID [2022-04-28 10:35:14,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22448#true} {22448#true} #93#return; {22448#true} is VALID [2022-04-28 10:35:14,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {22448#true} call #t~ret7 := main(); {22448#true} is VALID [2022-04-28 10:35:14,882 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-28 10:35:14,882 INFO L290 TraceCheckUtils]: 6: Hoare triple {22448#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {22448#true} is VALID [2022-04-28 10:35:14,882 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-28 10:35:14,882 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-28 10:35:14,882 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-28 10:35:14,883 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-28 10:35:14,883 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-28 10:35:14,883 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-28 10:35:14,884 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-28 10:35:14,884 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-28 10:35:14,884 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-28 10:35:14,885 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-28 10:35:14,885 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-28 10:35:14,886 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-28 10:35:14,886 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-28 10:35:14,886 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-28 10:35:14,887 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-28 10:35:14,887 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-28 10:35:14,887 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-28 10:35:14,888 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-28 10:35:14,888 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-28 10:35:14,889 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-28 10:35:14,889 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-28 10:35:14,889 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-28 10:35:14,890 INFO L290 TraceCheckUtils]: 29: Hoare triple {22512#(<= |correct_version_#in~w| 15)} assume true; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-28 10:35:14,890 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-28 10:35:14,891 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-28 10:35:14,891 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-28 10:35:14,891 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-28 10:35:14,891 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-28 10:35:14,892 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-28 10:35:14,892 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-28 10:35:14,892 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-28 10:35:14,893 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-28 10:35:14,893 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-28 10:35:14,894 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-28 10:35:14,894 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-28 10:35:14,894 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-28 10:35:14,895 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-28 10:35:14,895 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-28 10:35:14,895 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-28 10:35:14,896 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-28 10:35:14,896 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-28 10:35:14,896 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-28 10:35:14,897 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-28 10:35:14,897 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-28 10:35:14,897 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-28 10:35:14,898 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-28 10:35:14,898 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-28 10:35:14,898 INFO L290 TraceCheckUtils]: 54: Hoare triple {22523#(<= 16 |student_version_#in~w|)} assume true; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-28 10:35:14,899 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-28 10:35:14,899 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-28 10:35:14,899 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-28 10:35:14,899 INFO L290 TraceCheckUtils]: 58: Hoare triple {22449#false} ~cond := #in~cond; {22449#false} is VALID [2022-04-28 10:35:14,899 INFO L290 TraceCheckUtils]: 59: Hoare triple {22449#false} assume 0 == ~cond; {22449#false} is VALID [2022-04-28 10:35:14,899 INFO L290 TraceCheckUtils]: 60: Hoare triple {22449#false} assume !false; {22449#false} is VALID [2022-04-28 10:35:14,900 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-28 10:35:14,900 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:14,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1733484789] [2022-04-28 10:35:14,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1733484789] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:14,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [223523560] [2022-04-28 10:35:14,900 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:35:14,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:14,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:14,901 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:14,902 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 10:35:14,969 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:35:14,970 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:14,970 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 10:35:14,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:14,983 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:15,843 INFO L272 TraceCheckUtils]: 0: Hoare triple {22448#true} call ULTIMATE.init(); {22448#true} is VALID [2022-04-28 10:35:15,844 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-28 10:35:15,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {22448#true} assume true; {22448#true} is VALID [2022-04-28 10:35:15,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22448#true} {22448#true} #93#return; {22448#true} is VALID [2022-04-28 10:35:15,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {22448#true} call #t~ret7 := main(); {22448#true} is VALID [2022-04-28 10:35:15,844 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-28 10:35:15,844 INFO L290 TraceCheckUtils]: 6: Hoare triple {22448#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {22448#true} is VALID [2022-04-28 10:35:15,844 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-28 10:35:15,844 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-28 10:35:15,845 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-28 10:35:15,845 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-28 10:35:15,845 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-28 10:35:15,846 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-28 10:35:15,846 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-28 10:35:15,846 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-28 10:35:15,847 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-28 10:35:15,847 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-28 10:35:15,847 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-28 10:35:15,848 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-28 10:35:15,848 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-28 10:35:15,849 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-28 10:35:15,849 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-28 10:35:15,849 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-28 10:35:15,850 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-28 10:35:15,850 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-28 10:35:15,850 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-28 10:35:15,851 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-28 10:35:15,851 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-28 10:35:15,851 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-28 10:35:15,851 INFO L290 TraceCheckUtils]: 29: Hoare triple {22512#(<= |correct_version_#in~w| 15)} assume true; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-28 10:35:15,852 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-28 10:35:15,853 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-28 10:35:15,853 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-28 10:35:15,853 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-28 10:35:15,853 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-28 10:35:15,854 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-28 10:35:15,854 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-28 10:35:15,854 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-28 10:35:15,855 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-28 10:35:15,855 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-28 10:35:15,855 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-28 10:35:15,856 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-28 10:35:15,856 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-28 10:35:15,856 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-28 10:35:15,857 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-28 10:35:15,857 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-28 10:35:15,857 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-28 10:35:15,858 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-28 10:35:15,858 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-28 10:35:15,858 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-28 10:35:15,859 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-28 10:35:15,859 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-28 10:35:15,860 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-28 10:35:15,860 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-28 10:35:15,860 INFO L290 TraceCheckUtils]: 54: Hoare triple {22523#(<= 16 |student_version_#in~w|)} assume true; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-28 10:35:15,861 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-28 10:35:15,861 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-28 10:35:15,861 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-28 10:35:15,861 INFO L290 TraceCheckUtils]: 58: Hoare triple {22449#false} ~cond := #in~cond; {22449#false} is VALID [2022-04-28 10:35:15,861 INFO L290 TraceCheckUtils]: 59: Hoare triple {22449#false} assume 0 == ~cond; {22449#false} is VALID [2022-04-28 10:35:15,861 INFO L290 TraceCheckUtils]: 60: Hoare triple {22449#false} assume !false; {22449#false} is VALID [2022-04-28 10:35:15,861 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-28 10:35:15,861 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:22,741 INFO L290 TraceCheckUtils]: 60: Hoare triple {22449#false} assume !false; {22449#false} is VALID [2022-04-28 10:35:22,741 INFO L290 TraceCheckUtils]: 59: Hoare triple {22449#false} assume 0 == ~cond; {22449#false} is VALID [2022-04-28 10:35:22,741 INFO L290 TraceCheckUtils]: 58: Hoare triple {22449#false} ~cond := #in~cond; {22449#false} is VALID [2022-04-28 10:35:22,741 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-28 10:35:22,741 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-28 10:35:22,742 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-28 10:35:22,742 INFO L290 TraceCheckUtils]: 54: Hoare triple {22523#(<= 16 |student_version_#in~w|)} assume true; {22523#(<= 16 |student_version_#in~w|)} is VALID [2022-04-28 10:35:22,742 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-28 10:35:22,743 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-28 10:35:22,743 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-28 10:35:22,744 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-28 10:35:22,744 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-28 10:35:22,744 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-28 10:35:22,744 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-28 10:35:22,745 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-28 10:35:22,745 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-28 10:35:22,746 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-28 10:35:22,746 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-28 10:35:22,746 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-28 10:35:22,747 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-28 10:35:22,747 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-28 10:35:22,747 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-28 10:35:22,748 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-28 10:35:22,748 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-28 10:35:22,748 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-28 10:35:22,749 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-28 10:35:22,749 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-28 10:35:22,749 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-28 10:35:22,749 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-28 10:35:22,750 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-28 10:35:22,750 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-28 10:35:22,751 INFO L290 TraceCheckUtils]: 29: Hoare triple {22512#(<= |correct_version_#in~w| 15)} assume true; {22512#(<= |correct_version_#in~w| 15)} is VALID [2022-04-28 10:35:22,751 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-28 10:35:22,751 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-28 10:35:22,752 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-28 10:35:22,752 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-28 10:35:22,752 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-28 10:35:22,753 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-28 10:35:22,753 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-28 10:35:22,753 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-28 10:35:22,754 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-28 10:35:22,754 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-28 10:35:22,754 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-28 10:35:22,755 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-28 10:35:22,755 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-28 10:35:22,755 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-28 10:35:22,756 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-28 10:35:22,756 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-28 10:35:22,756 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-28 10:35:22,757 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-28 10:35:22,757 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-28 10:35:22,757 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-28 10:35:22,758 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-28 10:35:22,758 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-28 10:35:22,758 INFO L290 TraceCheckUtils]: 6: Hoare triple {22448#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {22448#true} is VALID [2022-04-28 10:35:22,758 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-28 10:35:22,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {22448#true} call #t~ret7 := main(); {22448#true} is VALID [2022-04-28 10:35:22,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22448#true} {22448#true} #93#return; {22448#true} is VALID [2022-04-28 10:35:22,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {22448#true} assume true; {22448#true} is VALID [2022-04-28 10:35:22,758 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-28 10:35:22,758 INFO L272 TraceCheckUtils]: 0: Hoare triple {22448#true} call ULTIMATE.init(); {22448#true} is VALID [2022-04-28 10:35:22,758 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-28 10:35:22,759 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [223523560] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:22,759 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:22,759 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 69 [2022-04-28 10:35:22,759 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:22,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1296112152] [2022-04-28 10:35:22,759 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1296112152] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:22,759 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:22,759 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 10:35:22,759 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [139635223] [2022-04-28 10:35:22,759 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:22,759 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-28 10:35:22,760 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:22,760 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-28 10:35:22,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:22,808 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 10:35:22,808 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:22,808 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 10:35:22,809 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=749, Invalid=3943, Unknown=0, NotChecked=0, Total=4692 [2022-04-28 10:35:22,809 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-28 10:35:24,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:24,584 INFO L93 Difference]: Finished difference Result 90 states and 97 transitions. [2022-04-28 10:35:24,584 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-28 10:35:24,584 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-28 10:35:24,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:24,585 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-28 10:35:24,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 92 transitions. [2022-04-28 10:35:24,585 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-28 10:35:24,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 92 transitions. [2022-04-28 10:35:24,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 92 transitions. [2022-04-28 10:35:24,692 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-28 10:35:24,693 INFO L225 Difference]: With dead ends: 90 [2022-04-28 10:35:24,693 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 10:35:24,694 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 79 SyntacticMatches, 5 SemanticMatches, 91 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3572 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=1312, Invalid=7244, Unknown=0, NotChecked=0, Total=8556 [2022-04-28 10:35:24,694 INFO L413 NwaCegarLoop]: 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-28 10:35:24,694 INFO L414 NwaCegarLoop]: 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-28 10:35:24,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 10:35:25,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 73. [2022-04-28 10:35:25,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:25,116 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-28 10:35:25,117 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-28 10:35:25,117 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-28 10:35:25,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:25,117 INFO L93 Difference]: Finished difference Result 79 states and 85 transitions. [2022-04-28 10:35:25,118 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 85 transitions. [2022-04-28 10:35:25,118 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:25,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:25,118 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-28 10:35:25,118 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-28 10:35:25,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:25,119 INFO L93 Difference]: Finished difference Result 79 states and 85 transitions. [2022-04-28 10:35:25,119 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 85 transitions. [2022-04-28 10:35:25,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:25,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:25,119 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:25,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:25,119 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-28 10:35:25,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 77 transitions. [2022-04-28 10:35:25,120 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 77 transitions. Word has length 61 [2022-04-28 10:35:25,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:25,120 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 77 transitions. [2022-04-28 10:35:25,120 INFO L496 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-28 10:35:25,120 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 77 transitions. [2022-04-28 10:35:25,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:25,235 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 77 transitions. [2022-04-28 10:35:25,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 10:35:25,235 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:25,236 INFO L195 NwaCegarLoop]: 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-28 10:35:25,252 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:25,447 WARN L477 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-28 10:35:25,447 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:25,447 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:25,447 INFO L85 PathProgramCache]: Analyzing trace with hash 213641523, now seen corresponding path program 27 times [2022-04-28 10:35:25,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:25,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2094842692] [2022-04-28 10:35:25,449 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:25,450 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:25,450 INFO L85 PathProgramCache]: Analyzing trace with hash 213641523, now seen corresponding path program 28 times [2022-04-28 10:35:25,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:25,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1188182185] [2022-04-28 10:35:25,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:25,450 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:25,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:25,508 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:25,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:25,513 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-28 10:35:25,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {23463#true} assume true; {23463#true} is VALID [2022-04-28 10:35:25,513 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23463#true} {23463#true} #93#return; {23463#true} is VALID [2022-04-28 10:35:25,513 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:25,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:25,628 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-28 10:35:25,628 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-28 10:35:25,628 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-28 10:35:25,629 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-28 10:35:25,629 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-28 10:35:25,630 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-28 10:35:25,630 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-28 10:35:25,630 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-28 10:35:25,631 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-28 10:35:25,631 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-28 10:35:25,631 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-28 10:35:25,632 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-28 10:35:25,632 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-28 10:35:25,633 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-28 10:35:25,633 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-28 10:35:25,633 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-28 10:35:25,634 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-28 10:35:25,634 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-28 10:35:25,634 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-28 10:35:25,635 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-28 10:35:25,635 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-28 10:35:25,635 INFO L290 TraceCheckUtils]: 21: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} assume true; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:25,636 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-28 10:35:25,636 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-28 10:35:25,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:25,825 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-28 10:35:25,825 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-28 10:35:25,826 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-28 10:35:25,826 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-28 10:35:25,827 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-28 10:35:25,827 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-28 10:35:25,827 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-28 10:35:25,828 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-28 10:35:25,828 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-28 10:35:25,829 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-28 10:35:25,829 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-28 10:35:25,829 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-28 10:35:25,830 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-28 10:35:25,830 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-28 10:35:25,830 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-28 10:35:25,831 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-28 10:35:25,840 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-28 10:35:25,841 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-28 10:35:25,841 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-28 10:35:25,842 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-28 10:35:25,842 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-28 10:35:25,842 INFO L290 TraceCheckUtils]: 21: Hoare triple {23538#(<= |student_version_#in~w| 15)} assume true; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-28 10:35:25,843 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-28 10:35:25,844 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-28 10:35:25,844 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-28 10:35:25,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {23463#true} assume true; {23463#true} is VALID [2022-04-28 10:35:25,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23463#true} {23463#true} #93#return; {23463#true} is VALID [2022-04-28 10:35:25,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {23463#true} call #t~ret7 := main(); {23463#true} is VALID [2022-04-28 10:35:25,844 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-28 10:35:25,844 INFO L290 TraceCheckUtils]: 6: Hoare triple {23463#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {23463#true} is VALID [2022-04-28 10:35:25,844 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-28 10:35:25,845 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-28 10:35:25,845 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-28 10:35:25,845 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-28 10:35:25,846 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-28 10:35:25,846 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-28 10:35:25,847 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-28 10:35:25,847 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-28 10:35:25,847 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-28 10:35:25,848 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-28 10:35:25,848 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-28 10:35:25,848 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-28 10:35:25,849 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-28 10:35:25,849 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-28 10:35:25,850 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-28 10:35:25,850 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-28 10:35:25,850 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-28 10:35:25,851 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-28 10:35:25,851 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-28 10:35:25,852 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-28 10:35:25,852 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-28 10:35:25,852 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-28 10:35:25,852 INFO L290 TraceCheckUtils]: 29: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} assume true; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:25,853 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-28 10:35:25,854 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-28 10:35:25,854 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-28 10:35:25,854 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-28 10:35:25,854 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-28 10:35:25,855 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-28 10:35:25,855 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-28 10:35:25,855 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-28 10:35:25,856 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-28 10:35:25,856 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-28 10:35:25,857 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-28 10:35:25,857 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-28 10:35:25,857 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-28 10:35:25,858 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-28 10:35:25,858 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-28 10:35:25,858 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-28 10:35:25,859 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-28 10:35:25,859 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-28 10:35:25,860 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-28 10:35:25,860 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-28 10:35:25,860 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-28 10:35:25,861 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-28 10:35:25,861 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-28 10:35:25,861 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-28 10:35:25,862 INFO L290 TraceCheckUtils]: 54: Hoare triple {23538#(<= |student_version_#in~w| 15)} assume true; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-28 10:35:25,862 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-28 10:35:25,863 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-28 10:35:25,863 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-28 10:35:25,863 INFO L290 TraceCheckUtils]: 58: Hoare triple {23464#false} ~cond := #in~cond; {23464#false} is VALID [2022-04-28 10:35:25,863 INFO L290 TraceCheckUtils]: 59: Hoare triple {23464#false} assume 0 == ~cond; {23464#false} is VALID [2022-04-28 10:35:25,863 INFO L290 TraceCheckUtils]: 60: Hoare triple {23464#false} assume !false; {23464#false} is VALID [2022-04-28 10:35:25,863 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-28 10:35:25,863 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:25,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1188182185] [2022-04-28 10:35:25,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1188182185] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:25,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1208244887] [2022-04-28 10:35:25,863 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:35:25,864 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:25,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:25,865 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:25,865 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 10:35:25,934 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:35:25,934 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:25,934 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 10:35:25,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:25,954 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:26,997 INFO L272 TraceCheckUtils]: 0: Hoare triple {23463#true} call ULTIMATE.init(); {23463#true} is VALID [2022-04-28 10:35:26,997 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-28 10:35:26,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {23463#true} assume true; {23463#true} is VALID [2022-04-28 10:35:26,997 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23463#true} {23463#true} #93#return; {23463#true} is VALID [2022-04-28 10:35:26,997 INFO L272 TraceCheckUtils]: 4: Hoare triple {23463#true} call #t~ret7 := main(); {23463#true} is VALID [2022-04-28 10:35:26,997 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-28 10:35:26,997 INFO L290 TraceCheckUtils]: 6: Hoare triple {23463#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {23463#true} is VALID [2022-04-28 10:35:26,997 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-28 10:35:26,998 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-28 10:35:26,998 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-28 10:35:26,998 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-28 10:35:26,999 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-28 10:35:26,999 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-28 10:35:27,000 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-28 10:35:27,000 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-28 10:35:27,000 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-28 10:35:27,001 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-28 10:35:27,001 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-28 10:35:27,001 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-28 10:35:27,002 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-28 10:35:27,002 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-28 10:35:27,002 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-28 10:35:27,003 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-28 10:35:27,003 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-28 10:35:27,003 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-28 10:35:27,004 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-28 10:35:27,004 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-28 10:35:27,004 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-28 10:35:27,005 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-28 10:35:27,005 INFO L290 TraceCheckUtils]: 29: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} assume true; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:27,006 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-28 10:35:27,006 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-28 10:35:27,006 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-28 10:35:27,006 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-28 10:35:27,007 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-28 10:35:27,007 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-28 10:35:27,007 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-28 10:35:27,008 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-28 10:35:27,008 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-28 10:35:27,008 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-28 10:35:27,009 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-28 10:35:27,009 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-28 10:35:27,010 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-28 10:35:27,010 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-28 10:35:27,010 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-28 10:35:27,011 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-28 10:35:27,011 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-28 10:35:27,011 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-28 10:35:27,012 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-28 10:35:27,012 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-28 10:35:27,012 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-28 10:35:27,013 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-28 10:35:27,015 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-28 10:35:27,015 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-28 10:35:27,016 INFO L290 TraceCheckUtils]: 54: Hoare triple {23538#(<= |student_version_#in~w| 15)} assume true; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-28 10:35:27,017 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-28 10:35:27,017 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-28 10:35:27,017 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-28 10:35:27,017 INFO L290 TraceCheckUtils]: 58: Hoare triple {23464#false} ~cond := #in~cond; {23464#false} is VALID [2022-04-28 10:35:27,017 INFO L290 TraceCheckUtils]: 59: Hoare triple {23464#false} assume 0 == ~cond; {23464#false} is VALID [2022-04-28 10:35:27,017 INFO L290 TraceCheckUtils]: 60: Hoare triple {23464#false} assume !false; {23464#false} is VALID [2022-04-28 10:35:27,017 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-28 10:35:27,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:35,540 INFO L290 TraceCheckUtils]: 60: Hoare triple {23464#false} assume !false; {23464#false} is VALID [2022-04-28 10:35:35,540 INFO L290 TraceCheckUtils]: 59: Hoare triple {23464#false} assume 0 == ~cond; {23464#false} is VALID [2022-04-28 10:35:35,540 INFO L290 TraceCheckUtils]: 58: Hoare triple {23464#false} ~cond := #in~cond; {23464#false} is VALID [2022-04-28 10:35:35,541 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-28 10:35:35,541 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-28 10:35:35,541 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-28 10:35:35,542 INFO L290 TraceCheckUtils]: 54: Hoare triple {23538#(<= |student_version_#in~w| 15)} assume true; {23538#(<= |student_version_#in~w| 15)} is VALID [2022-04-28 10:35:35,542 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-28 10:35:35,542 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-28 10:35:35,542 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-28 10:35:35,543 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-28 10:35:35,543 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-28 10:35:35,544 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-28 10:35:35,544 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-28 10:35:35,544 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-28 10:35:35,545 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-28 10:35:35,545 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-28 10:35:35,545 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-28 10:35:35,546 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-28 10:35:35,546 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-28 10:35:35,546 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-28 10:35:35,547 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-28 10:35:35,547 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-28 10:35:35,547 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-28 10:35:35,548 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-28 10:35:35,548 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-28 10:35:35,548 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-28 10:35:35,549 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-28 10:35:35,549 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-28 10:35:35,549 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-28 10:35:35,550 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-28 10:35:35,550 INFO L290 TraceCheckUtils]: 29: Hoare triple {23526#(<= 16 |correct_version_#in~w|)} assume true; {23526#(<= 16 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:35,551 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-28 10:35:35,551 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-28 10:35:35,551 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-28 10:35:35,552 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-28 10:35:35,552 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-28 10:35:35,552 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-28 10:35:35,553 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-28 10:35:35,553 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-28 10:35:35,553 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-28 10:35:35,554 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-28 10:35:35,554 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-28 10:35:35,554 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-28 10:35:35,555 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-28 10:35:35,555 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-28 10:35:35,555 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-28 10:35:35,556 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-28 10:35:35,556 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-28 10:35:35,557 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-28 10:35:35,557 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-28 10:35:35,557 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-28 10:35:35,557 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-28 10:35:35,558 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-28 10:35:35,558 INFO L290 TraceCheckUtils]: 6: Hoare triple {23463#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {23463#true} is VALID [2022-04-28 10:35:35,558 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-28 10:35:35,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {23463#true} call #t~ret7 := main(); {23463#true} is VALID [2022-04-28 10:35:35,558 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23463#true} {23463#true} #93#return; {23463#true} is VALID [2022-04-28 10:35:35,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {23463#true} assume true; {23463#true} is VALID [2022-04-28 10:35:35,558 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-28 10:35:35,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {23463#true} call ULTIMATE.init(); {23463#true} is VALID [2022-04-28 10:35:35,558 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-28 10:35:35,558 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1208244887] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:35,558 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:35,558 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 26, 26] total 69 [2022-04-28 10:35:35,559 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:35,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2094842692] [2022-04-28 10:35:35,559 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2094842692] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:35,559 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:35,559 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 10:35:35,559 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1047782100] [2022-04-28 10:35:35,559 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:35,559 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-28 10:35:35,559 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:35,559 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-28 10:35:35,596 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:35,596 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 10:35:35,596 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:35,596 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 10:35:35,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=749, Invalid=3943, Unknown=0, NotChecked=0, Total=4692 [2022-04-28 10:35:35,597 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-28 10:35:37,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:37,189 INFO L93 Difference]: Finished difference Result 85 states and 90 transitions. [2022-04-28 10:35:37,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-28 10:35:37,189 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-28 10:35:37,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:37,189 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-28 10:35:37,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 85 transitions. [2022-04-28 10:35:37,190 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-28 10:35:37,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 85 transitions. [2022-04-28 10:35:37,190 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 85 transitions. [2022-04-28 10:35:37,255 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-28 10:35:37,256 INFO L225 Difference]: With dead ends: 85 [2022-04-28 10:35:37,256 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 10:35:37,257 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 79 SyntacticMatches, 5 SemanticMatches, 91 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3581 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=1312, Invalid=7244, Unknown=0, NotChecked=0, Total=8556 [2022-04-28 10:35:37,257 INFO L413 NwaCegarLoop]: 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-28 10:35:37,257 INFO L414 NwaCegarLoop]: 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-28 10:35:37,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 10:35:37,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-04-28 10:35:37,705 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:37,705 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-28 10:35:37,705 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-28 10:35:37,705 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-28 10:35:37,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:37,706 INFO L93 Difference]: Finished difference Result 76 states and 81 transitions. [2022-04-28 10:35:37,706 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-04-28 10:35:37,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:37,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:37,706 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-28 10:35:37,706 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-28 10:35:37,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:37,707 INFO L93 Difference]: Finished difference Result 76 states and 81 transitions. [2022-04-28 10:35:37,707 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-04-28 10:35:37,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:37,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:37,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:37,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:37,707 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-28 10:35:37,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 81 transitions. [2022-04-28 10:35:37,708 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 81 transitions. Word has length 61 [2022-04-28 10:35:37,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:37,708 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 81 transitions. [2022-04-28 10:35:37,708 INFO L496 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-28 10:35:37,708 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 81 transitions. [2022-04-28 10:35:37,849 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:37,850 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 81 transitions. [2022-04-28 10:35:37,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-28 10:35:37,850 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:37,850 INFO L195 NwaCegarLoop]: 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-28 10:35:37,873 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:38,056 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable33 [2022-04-28 10:35:38,056 INFO L420 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:38,056 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:38,056 INFO L85 PathProgramCache]: Analyzing trace with hash 1718819637, now seen corresponding path program 29 times [2022-04-28 10:35:38,056 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:38,056 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1124199255] [2022-04-28 10:35:38,059 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:38,059 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:38,059 INFO L85 PathProgramCache]: Analyzing trace with hash 1718819637, now seen corresponding path program 30 times [2022-04-28 10:35:38,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:38,059 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1187978763] [2022-04-28 10:35:38,059 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:38,059 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:38,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:38,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:38,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:38,112 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-28 10:35:38,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {24468#true} assume true; {24468#true} is VALID [2022-04-28 10:35:38,112 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {24468#true} {24468#true} #93#return; {24468#true} is VALID [2022-04-28 10:35:38,112 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:38,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:38,259 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-28 10:35:38,260 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-28 10:35:38,260 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-28 10:35:38,260 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-28 10:35:38,261 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-28 10:35:38,261 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-28 10:35:38,261 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-28 10:35:38,262 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-28 10:35:38,262 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-28 10:35:38,263 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-28 10:35:38,263 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-28 10:35:38,263 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-28 10:35:38,264 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-28 10:35:38,264 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-28 10:35:38,264 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-28 10:35:38,265 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-28 10:35:38,265 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-28 10:35:38,266 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-28 10:35:38,266 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-28 10:35:38,266 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-28 10:35:38,267 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-28 10:35:38,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume true; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-28 10:35:38,268 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-28 10:35:38,268 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-04-28 10:35:38,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:38,413 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-28 10:35:38,413 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-28 10:35:38,413 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-28 10:35:38,414 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-28 10:35:38,414 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-28 10:35:38,414 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-28 10:35:38,415 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-28 10:35:38,415 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-28 10:35:38,415 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-28 10:35:38,416 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-28 10:35:38,416 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-28 10:35:38,416 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-28 10:35:38,417 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-28 10:35:38,417 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-28 10:35:38,417 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-28 10:35:38,418 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-28 10:35:38,418 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-28 10:35:38,419 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-28 10:35:38,419 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-28 10:35:38,419 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-28 10:35:38,420 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-28 10:35:38,420 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-28 10:35:38,420 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-28 10:35:38,420 INFO L290 TraceCheckUtils]: 23: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume true; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-28 10:35:38,421 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-28 10:35:38,422 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-28 10:35:38,422 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-28 10:35:38,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {24468#true} assume true; {24468#true} is VALID [2022-04-28 10:35:38,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24468#true} {24468#true} #93#return; {24468#true} is VALID [2022-04-28 10:35:38,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {24468#true} call #t~ret7 := main(); {24468#true} is VALID [2022-04-28 10:35:38,422 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-28 10:35:38,422 INFO L290 TraceCheckUtils]: 6: Hoare triple {24468#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {24468#true} is VALID [2022-04-28 10:35:38,422 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-28 10:35:38,422 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-28 10:35:38,423 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-28 10:35:38,423 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-28 10:35:38,423 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-28 10:35:38,424 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-28 10:35:38,424 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-28 10:35:38,424 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-28 10:35:38,425 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-28 10:35:38,425 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-28 10:35:38,425 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-28 10:35:38,426 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-28 10:35:38,426 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-28 10:35:38,426 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-28 10:35:38,427 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-28 10:35:38,427 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-28 10:35:38,427 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-28 10:35:38,428 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-28 10:35:38,428 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-28 10:35:38,428 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-28 10:35:38,429 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-28 10:35:38,429 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-28 10:35:38,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume true; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-28 10:35:38,430 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-28 10:35:38,430 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-28 10:35:38,430 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-28 10:35:38,431 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-28 10:35:38,431 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-28 10:35:38,431 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-28 10:35:38,432 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-28 10:35:38,432 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-28 10:35:38,432 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-28 10:35:38,433 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-28 10:35:38,433 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-28 10:35:38,433 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-28 10:35:38,434 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-28 10:35:38,434 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-28 10:35:38,434 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-28 10:35:38,435 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-28 10:35:38,435 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-28 10:35:38,435 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-28 10:35:38,436 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-28 10:35:38,436 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-28 10:35:38,436 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-28 10:35:38,437 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-28 10:35:38,437 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-28 10:35:38,437 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-28 10:35:38,438 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-28 10:35:38,438 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-28 10:35:38,438 INFO L290 TraceCheckUtils]: 56: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume true; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-28 10:35:38,439 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-28 10:35:38,439 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-28 10:35:38,439 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-28 10:35:38,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {24469#false} ~cond := #in~cond; {24469#false} is VALID [2022-04-28 10:35:38,439 INFO L290 TraceCheckUtils]: 61: Hoare triple {24469#false} assume 0 == ~cond; {24469#false} is VALID [2022-04-28 10:35:38,439 INFO L290 TraceCheckUtils]: 62: Hoare triple {24469#false} assume !false; {24469#false} is VALID [2022-04-28 10:35:38,439 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-28 10:35:38,439 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:38,439 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1187978763] [2022-04-28 10:35:38,440 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1187978763] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:38,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [470751818] [2022-04-28 10:35:38,440 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:35:38,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:38,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:38,441 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:38,441 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-28 10:35:38,514 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-28 10:35:38,514 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:38,515 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 10:35:38,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:38,531 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:39,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {24468#true} call ULTIMATE.init(); {24468#true} is VALID [2022-04-28 10:35:39,384 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-28 10:35:39,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {24468#true} assume true; {24468#true} is VALID [2022-04-28 10:35:39,384 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24468#true} {24468#true} #93#return; {24468#true} is VALID [2022-04-28 10:35:39,384 INFO L272 TraceCheckUtils]: 4: Hoare triple {24468#true} call #t~ret7 := main(); {24468#true} is VALID [2022-04-28 10:35:39,385 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-28 10:35:39,385 INFO L290 TraceCheckUtils]: 6: Hoare triple {24468#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {24468#true} is VALID [2022-04-28 10:35:39,385 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-28 10:35:39,385 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-28 10:35:39,385 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-28 10:35:39,386 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-28 10:35:39,386 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-28 10:35:39,386 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-28 10:35:39,387 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-28 10:35:39,387 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-28 10:35:39,387 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-28 10:35:39,388 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-28 10:35:39,388 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-28 10:35:39,388 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-28 10:35:39,390 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-28 10:35:39,391 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-28 10:35:39,391 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-28 10:35:39,391 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-28 10:35:39,392 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-28 10:35:39,392 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-28 10:35:39,393 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-28 10:35:39,393 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-28 10:35:39,393 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-28 10:35:39,393 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-28 10:35:39,394 INFO L290 TraceCheckUtils]: 29: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume true; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-28 10:35:39,394 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-28 10:35:39,395 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-28 10:35:39,395 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-28 10:35:39,395 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-28 10:35:39,395 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-28 10:35:39,396 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-28 10:35:39,396 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-28 10:35:39,396 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-28 10:35:39,397 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-28 10:35:39,397 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-28 10:35:39,398 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-28 10:35:39,398 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-28 10:35:39,399 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-28 10:35:39,399 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-28 10:35:39,399 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-28 10:35:39,400 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-28 10:35:39,400 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-28 10:35:39,401 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-28 10:35:39,401 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-28 10:35:39,401 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-28 10:35:39,402 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-28 10:35:39,402 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-28 10:35:39,402 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-28 10:35:39,402 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-28 10:35:39,403 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-28 10:35:39,403 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-28 10:35:39,403 INFO L290 TraceCheckUtils]: 56: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume true; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-28 10:35:39,404 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-28 10:35:39,404 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-28 10:35:39,404 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-28 10:35:39,404 INFO L290 TraceCheckUtils]: 60: Hoare triple {24469#false} ~cond := #in~cond; {24469#false} is VALID [2022-04-28 10:35:39,404 INFO L290 TraceCheckUtils]: 61: Hoare triple {24469#false} assume 0 == ~cond; {24469#false} is VALID [2022-04-28 10:35:39,404 INFO L290 TraceCheckUtils]: 62: Hoare triple {24469#false} assume !false; {24469#false} is VALID [2022-04-28 10:35:39,404 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-28 10:35:39,405 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:43,008 INFO L290 TraceCheckUtils]: 62: Hoare triple {24469#false} assume !false; {24469#false} is VALID [2022-04-28 10:35:43,009 INFO L290 TraceCheckUtils]: 61: Hoare triple {24469#false} assume 0 == ~cond; {24469#false} is VALID [2022-04-28 10:35:43,009 INFO L290 TraceCheckUtils]: 60: Hoare triple {24469#false} ~cond := #in~cond; {24469#false} is VALID [2022-04-28 10:35:43,009 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-28 10:35:43,009 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-28 10:35:43,010 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-28 10:35:43,010 INFO L290 TraceCheckUtils]: 56: Hoare triple {24546#(<= 17 |student_version_#in~w|)} assume true; {24546#(<= 17 |student_version_#in~w|)} is VALID [2022-04-28 10:35:43,010 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-28 10:35:43,010 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-28 10:35:43,011 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-28 10:35:43,011 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-28 10:35:43,011 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-28 10:35:43,012 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-28 10:35:43,012 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-28 10:35:43,012 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-28 10:35:43,013 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-28 10:35:43,013 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-28 10:35:43,014 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-28 10:35:43,014 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-28 10:35:43,014 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-28 10:35:43,015 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-28 10:35:43,015 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-28 10:35:43,015 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-28 10:35:43,016 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-28 10:35:43,016 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-28 10:35:43,016 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-28 10:35:43,017 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-28 10:35:43,017 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-28 10:35:43,017 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-28 10:35:43,018 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-28 10:35:43,018 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-28 10:35:43,018 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-28 10:35:43,019 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-28 10:35:43,019 INFO L290 TraceCheckUtils]: 29: Hoare triple {24534#(<= |correct_version_#in~w| 16)} assume true; {24534#(<= |correct_version_#in~w| 16)} is VALID [2022-04-28 10:35:43,019 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-28 10:35:43,020 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-28 10:35:43,020 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-28 10:35:43,020 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-28 10:35:43,021 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-28 10:35:43,021 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-28 10:35:43,021 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-28 10:35:43,022 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-28 10:35:43,022 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-28 10:35:43,023 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-28 10:35:43,023 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-28 10:35:43,023 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-28 10:35:43,024 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-28 10:35:43,024 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-28 10:35:43,024 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-28 10:35:43,025 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-28 10:35:43,025 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-28 10:35:43,025 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-28 10:35:43,026 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-28 10:35:43,026 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-28 10:35:43,026 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-28 10:35:43,026 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-28 10:35:43,026 INFO L290 TraceCheckUtils]: 6: Hoare triple {24468#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {24468#true} is VALID [2022-04-28 10:35:43,026 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-28 10:35:43,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {24468#true} call #t~ret7 := main(); {24468#true} is VALID [2022-04-28 10:35:43,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24468#true} {24468#true} #93#return; {24468#true} is VALID [2022-04-28 10:35:43,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {24468#true} assume true; {24468#true} is VALID [2022-04-28 10:35:43,027 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-28 10:35:43,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {24468#true} call ULTIMATE.init(); {24468#true} is VALID [2022-04-28 10:35:43,027 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-28 10:35:43,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [470751818] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:43,027 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:43,027 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28, 25, 25] total 68 [2022-04-28 10:35:43,027 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:43,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1124199255] [2022-04-28 10:35:43,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1124199255] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:43,028 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:43,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-28 10:35:43,028 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151672947] [2022-04-28 10:35:43,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:43,028 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-28 10:35:43,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:43,028 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-28 10:35:43,074 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:43,075 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-28 10:35:43,075 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:43,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-28 10:35:43,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=761, Invalid=3795, Unknown=0, NotChecked=0, Total=4556 [2022-04-28 10:35:43,078 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-28 10:35:44,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:44,769 INFO L93 Difference]: Finished difference Result 91 states and 96 transitions. [2022-04-28 10:35:44,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 10:35:44,769 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-28 10:35:44,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:44,769 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-28 10:35:44,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2022-04-28 10:35:44,770 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-28 10:35:44,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2022-04-28 10:35:44,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 88 transitions. [2022-04-28 10:35:44,837 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-28 10:35:44,838 INFO L225 Difference]: With dead ends: 91 [2022-04-28 10:35:44,838 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 10:35:44,839 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 85 SyntacticMatches, 5 SemanticMatches, 89 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3531 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=1311, Invalid=6879, Unknown=0, NotChecked=0, Total=8190 [2022-04-28 10:35:44,839 INFO L413 NwaCegarLoop]: 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-28 10:35:44,839 INFO L414 NwaCegarLoop]: 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-28 10:35:44,840 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 10:35:45,277 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 75. [2022-04-28 10:35:45,277 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:45,277 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-28 10:35:45,277 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-28 10:35:45,278 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-28 10:35:45,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:45,278 INFO L93 Difference]: Finished difference Result 79 states and 83 transitions. [2022-04-28 10:35:45,278 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2022-04-28 10:35:45,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:45,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:45,279 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-28 10:35:45,279 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-28 10:35:45,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:45,279 INFO L93 Difference]: Finished difference Result 79 states and 83 transitions. [2022-04-28 10:35:45,280 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2022-04-28 10:35:45,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:45,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:45,280 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:45,280 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:45,280 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-28 10:35:45,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 79 transitions. [2022-04-28 10:35:45,280 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 79 transitions. Word has length 63 [2022-04-28 10:35:45,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:45,281 INFO L495 AbstractCegarLoop]: Abstraction has 75 states and 79 transitions. [2022-04-28 10:35:45,281 INFO L496 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-28 10:35:45,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 75 states and 79 transitions. [2022-04-28 10:35:45,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:45,394 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2022-04-28 10:35:45,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-28 10:35:45,394 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:45,394 INFO L195 NwaCegarLoop]: 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-28 10:35:45,410 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:45,595 WARN L477 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-28 10:35:45,595 INFO L420 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:45,595 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:45,595 INFO L85 PathProgramCache]: Analyzing trace with hash 1960827029, now seen corresponding path program 29 times [2022-04-28 10:35:45,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:45,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [682892321] [2022-04-28 10:35:45,597 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:45,597 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:45,597 INFO L85 PathProgramCache]: Analyzing trace with hash 1960827029, now seen corresponding path program 30 times [2022-04-28 10:35:45,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:45,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [273990403] [2022-04-28 10:35:45,598 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:45,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:45,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:45,631 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:45,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:45,634 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-28 10:35:45,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {25500#true} assume true; {25500#true} is VALID [2022-04-28 10:35:45,634 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25500#true} {25500#true} #93#return; {25500#true} is VALID [2022-04-28 10:35:45,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:45,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:45,777 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-28 10:35:45,777 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-28 10:35:45,778 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-28 10:35:45,778 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-28 10:35:45,778 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-28 10:35:45,779 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-28 10:35:45,779 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-28 10:35:45,779 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-28 10:35:45,780 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-28 10:35:45,780 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-28 10:35:45,780 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-28 10:35:45,781 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-28 10:35:45,781 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-28 10:35:45,782 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-28 10:35:45,782 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-28 10:35:45,782 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-28 10:35:45,783 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-28 10:35:45,783 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-28 10:35:45,784 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-28 10:35:45,784 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-28 10:35:45,784 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-28 10:35:45,785 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-28 10:35:45,785 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-28 10:35:45,785 INFO L290 TraceCheckUtils]: 23: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume true; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:45,786 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-28 10:35:45,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-28 10:35:45,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:45,961 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-28 10:35:45,961 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-28 10:35:45,962 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-28 10:35:45,962 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-28 10:35:45,962 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-28 10:35:45,963 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-28 10:35:45,963 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-28 10:35:45,964 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-28 10:35:45,964 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-28 10:35:45,964 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-28 10:35:45,965 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-28 10:35:45,965 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-28 10:35:45,965 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-28 10:35:45,966 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-28 10:35:45,966 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-28 10:35:45,967 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-28 10:35:45,967 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-28 10:35:45,967 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-28 10:35:45,968 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-28 10:35:45,968 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-28 10:35:45,968 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-28 10:35:45,968 INFO L290 TraceCheckUtils]: 21: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume true; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-28 10:35:45,969 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-28 10:35:45,970 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-28 10:35:45,970 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-28 10:35:45,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {25500#true} assume true; {25500#true} is VALID [2022-04-28 10:35:45,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25500#true} {25500#true} #93#return; {25500#true} is VALID [2022-04-28 10:35:45,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {25500#true} call #t~ret7 := main(); {25500#true} is VALID [2022-04-28 10:35:45,970 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-28 10:35:45,970 INFO L290 TraceCheckUtils]: 6: Hoare triple {25500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {25500#true} is VALID [2022-04-28 10:35:45,970 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-28 10:35:45,970 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-28 10:35:45,971 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-28 10:35:45,971 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-28 10:35:45,972 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-28 10:35:45,972 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-28 10:35:45,972 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-28 10:35:45,973 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-28 10:35:45,973 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-28 10:35:45,973 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-28 10:35:45,974 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-28 10:35:45,974 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-28 10:35:45,974 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-28 10:35:45,975 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-28 10:35:45,975 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-28 10:35:45,976 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-28 10:35:45,976 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-28 10:35:45,976 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-28 10:35:45,977 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-28 10:35:45,977 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-28 10:35:45,977 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-28 10:35:45,978 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-28 10:35:45,978 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-28 10:35:45,978 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-28 10:35:45,979 INFO L290 TraceCheckUtils]: 31: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume true; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:45,979 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-28 10:35:45,980 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-28 10:35:45,980 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-28 10:35:45,980 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-28 10:35:45,981 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-28 10:35:45,981 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-28 10:35:45,981 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-28 10:35:45,982 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-28 10:35:45,982 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-28 10:35:45,982 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-28 10:35:45,983 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-28 10:35:45,983 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-28 10:35:45,983 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-28 10:35:45,984 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-28 10:35:45,984 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-28 10:35:45,984 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-28 10:35:45,985 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-28 10:35:45,985 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-28 10:35:45,985 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-28 10:35:45,986 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-28 10:35:45,986 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-28 10:35:45,987 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-28 10:35:45,987 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-28 10:35:45,987 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-28 10:35:45,987 INFO L290 TraceCheckUtils]: 56: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume true; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-28 10:35:45,988 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-28 10:35:45,988 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-28 10:35:45,988 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-28 10:35:45,988 INFO L290 TraceCheckUtils]: 60: Hoare triple {25501#false} ~cond := #in~cond; {25501#false} is VALID [2022-04-28 10:35:45,988 INFO L290 TraceCheckUtils]: 61: Hoare triple {25501#false} assume 0 == ~cond; {25501#false} is VALID [2022-04-28 10:35:45,988 INFO L290 TraceCheckUtils]: 62: Hoare triple {25501#false} assume !false; {25501#false} is VALID [2022-04-28 10:35:45,989 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-28 10:35:45,989 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:45,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [273990403] [2022-04-28 10:35:45,989 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [273990403] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:45,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [632027433] [2022-04-28 10:35:45,989 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:35:45,989 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:45,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:45,990 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:45,990 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-28 10:35:46,071 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-28 10:35:46,071 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:46,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 10:35:46,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:46,086 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:47,093 INFO L272 TraceCheckUtils]: 0: Hoare triple {25500#true} call ULTIMATE.init(); {25500#true} is VALID [2022-04-28 10:35:47,093 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-28 10:35:47,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {25500#true} assume true; {25500#true} is VALID [2022-04-28 10:35:47,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25500#true} {25500#true} #93#return; {25500#true} is VALID [2022-04-28 10:35:47,093 INFO L272 TraceCheckUtils]: 4: Hoare triple {25500#true} call #t~ret7 := main(); {25500#true} is VALID [2022-04-28 10:35:47,093 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-28 10:35:47,093 INFO L290 TraceCheckUtils]: 6: Hoare triple {25500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {25500#true} is VALID [2022-04-28 10:35:47,094 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-28 10:35:47,094 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-28 10:35:47,094 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-28 10:35:47,094 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-28 10:35:47,095 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-28 10:35:47,095 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-28 10:35:47,096 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-28 10:35:47,096 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-28 10:35:47,096 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-28 10:35:47,097 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-28 10:35:47,097 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-28 10:35:47,097 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-28 10:35:47,098 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-28 10:35:47,098 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-28 10:35:47,098 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-28 10:35:47,099 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-28 10:35:47,099 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-28 10:35:47,099 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-28 10:35:47,100 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-28 10:35:47,100 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-28 10:35:47,100 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-28 10:35:47,101 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-28 10:35:47,101 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-28 10:35:47,101 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-28 10:35:47,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume true; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:47,102 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-28 10:35:47,102 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-28 10:35:47,102 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-28 10:35:47,103 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-28 10:35:47,103 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-28 10:35:47,103 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-28 10:35:47,104 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-28 10:35:47,104 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-28 10:35:47,104 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-28 10:35:47,105 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-28 10:35:47,105 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-28 10:35:47,105 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-28 10:35:47,106 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-28 10:35:47,106 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-28 10:35:47,107 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-28 10:35:47,107 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-28 10:35:47,107 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-28 10:35:47,108 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-28 10:35:47,108 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-28 10:35:47,108 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-28 10:35:47,109 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-28 10:35:47,109 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-28 10:35:47,109 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-28 10:35:47,109 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-28 10:35:47,110 INFO L290 TraceCheckUtils]: 56: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume true; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-28 10:35:47,110 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-28 10:35:47,110 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-28 10:35:47,111 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-28 10:35:47,111 INFO L290 TraceCheckUtils]: 60: Hoare triple {25501#false} ~cond := #in~cond; {25501#false} is VALID [2022-04-28 10:35:47,111 INFO L290 TraceCheckUtils]: 61: Hoare triple {25501#false} assume 0 == ~cond; {25501#false} is VALID [2022-04-28 10:35:47,111 INFO L290 TraceCheckUtils]: 62: Hoare triple {25501#false} assume !false; {25501#false} is VALID [2022-04-28 10:35:47,111 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-28 10:35:47,111 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:35:51,050 INFO L290 TraceCheckUtils]: 62: Hoare triple {25501#false} assume !false; {25501#false} is VALID [2022-04-28 10:35:51,050 INFO L290 TraceCheckUtils]: 61: Hoare triple {25501#false} assume 0 == ~cond; {25501#false} is VALID [2022-04-28 10:35:51,050 INFO L290 TraceCheckUtils]: 60: Hoare triple {25501#false} ~cond := #in~cond; {25501#false} is VALID [2022-04-28 10:35:51,050 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-28 10:35:51,050 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-28 10:35:51,052 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-28 10:35:51,052 INFO L290 TraceCheckUtils]: 56: Hoare triple {25578#(<= |student_version_#in~w| 16)} assume true; {25578#(<= |student_version_#in~w| 16)} is VALID [2022-04-28 10:35:51,052 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-28 10:35:51,052 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-28 10:35:51,053 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-28 10:35:51,053 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-28 10:35:51,053 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-28 10:35:51,054 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-28 10:35:51,054 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-28 10:35:51,054 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-28 10:35:51,055 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-28 10:35:51,055 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-28 10:35:51,055 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-28 10:35:51,056 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-28 10:35:51,056 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-28 10:35:51,057 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-28 10:35:51,057 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-28 10:35:51,057 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-28 10:35:51,057 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-28 10:35:51,058 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-28 10:35:51,058 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-28 10:35:51,059 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-28 10:35:51,059 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-28 10:35:51,059 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-28 10:35:51,059 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-28 10:35:51,060 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-28 10:35:51,060 INFO L290 TraceCheckUtils]: 31: Hoare triple {25566#(<= 17 |correct_version_#in~w|)} assume true; {25566#(<= 17 |correct_version_#in~w|)} is VALID [2022-04-28 10:35:51,061 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-28 10:35:51,061 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-28 10:35:51,061 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-28 10:35:51,061 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-28 10:35:51,062 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-28 10:35:51,062 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-28 10:35:51,062 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-28 10:35:51,063 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-28 10:35:51,063 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-28 10:35:51,063 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-28 10:35:51,064 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-28 10:35:51,064 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-28 10:35:51,064 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-28 10:35:51,065 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-28 10:35:51,065 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-28 10:35:51,066 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-28 10:35:51,066 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-28 10:35:51,066 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-28 10:35:51,066 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-28 10:35:51,067 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-28 10:35:51,067 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-28 10:35:51,068 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-28 10:35:51,068 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-28 10:35:51,068 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-28 10:35:51,068 INFO L290 TraceCheckUtils]: 6: Hoare triple {25500#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {25500#true} is VALID [2022-04-28 10:35:51,068 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-28 10:35:51,068 INFO L272 TraceCheckUtils]: 4: Hoare triple {25500#true} call #t~ret7 := main(); {25500#true} is VALID [2022-04-28 10:35:51,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25500#true} {25500#true} #93#return; {25500#true} is VALID [2022-04-28 10:35:51,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {25500#true} assume true; {25500#true} is VALID [2022-04-28 10:35:51,068 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-28 10:35:51,068 INFO L272 TraceCheckUtils]: 0: Hoare triple {25500#true} call ULTIMATE.init(); {25500#true} is VALID [2022-04-28 10:35:51,069 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-28 10:35:51,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [632027433] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:35:51,069 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:35:51,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28, 25, 25] total 68 [2022-04-28 10:35:51,069 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:35:51,069 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [682892321] [2022-04-28 10:35:51,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [682892321] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:35:51,069 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:35:51,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-28 10:35:51,069 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1819102334] [2022-04-28 10:35:51,069 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:35:51,069 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-28 10:35:51,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:35:51,070 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-28 10:35:51,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:51,110 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-28 10:35:51,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:51,111 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-28 10:35:51,111 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=761, Invalid=3795, Unknown=0, NotChecked=0, Total=4556 [2022-04-28 10:35:51,111 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-28 10:35:52,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:52,525 INFO L93 Difference]: Finished difference Result 85 states and 88 transitions. [2022-04-28 10:35:52,525 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 10:35:52,525 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-28 10:35:52,525 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:35:52,526 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-28 10:35:52,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2022-04-28 10:35:52,526 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-28 10:35:52,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2022-04-28 10:35:52,527 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 80 transitions. [2022-04-28 10:35:52,585 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:52,586 INFO L225 Difference]: With dead ends: 85 [2022-04-28 10:35:52,586 INFO L226 Difference]: Without dead ends: 75 [2022-04-28 10:35:52,586 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 85 SyntacticMatches, 5 SemanticMatches, 89 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3478 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=1311, Invalid=6879, Unknown=0, NotChecked=0, Total=8190 [2022-04-28 10:35:52,587 INFO L413 NwaCegarLoop]: 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-28 10:35:52,587 INFO L414 NwaCegarLoop]: 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-28 10:35:52,587 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-28 10:35:53,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2022-04-28 10:35:53,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:35:53,020 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-28 10:35:53,020 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-28 10:35:53,020 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-28 10:35:53,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:53,021 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2022-04-28 10:35:53,021 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2022-04-28 10:35:53,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:53,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:53,022 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-28 10:35:53,022 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-28 10:35:53,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:35:53,022 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2022-04-28 10:35:53,022 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2022-04-28 10:35:53,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:35:53,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:35:53,023 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:35:53,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:35:53,023 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-28 10:35:53,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 77 transitions. [2022-04-28 10:35:53,024 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 77 transitions. Word has length 63 [2022-04-28 10:35:53,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:35:53,024 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 77 transitions. [2022-04-28 10:35:53,024 INFO L496 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-28 10:35:53,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 77 transitions. [2022-04-28 10:35:53,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:35:53,136 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2022-04-28 10:35:53,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-28 10:35:53,136 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:35:53,136 INFO L195 NwaCegarLoop]: 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-28 10:35:53,152 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-28 10:35:53,337 WARN L477 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-28 10:35:53,337 INFO L420 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:35:53,337 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:35:53,337 INFO L85 PathProgramCache]: Analyzing trace with hash 1410871959, now seen corresponding path program 31 times [2022-04-28 10:35:53,337 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:35:53,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1312897466] [2022-04-28 10:35:53,339 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:35:53,339 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:35:53,339 INFO L85 PathProgramCache]: Analyzing trace with hash 1410871959, now seen corresponding path program 32 times [2022-04-28 10:35:53,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:35:53,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [48076159] [2022-04-28 10:35:53,339 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:35:53,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:35:53,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:53,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:35:53,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:53,383 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-28 10:35:53,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {26510#true} assume true; {26510#true} is VALID [2022-04-28 10:35:53,384 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26510#true} {26510#true} #93#return; {26510#true} is VALID [2022-04-28 10:35:53,384 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:35:53,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:53,569 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-28 10:35:53,569 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-28 10:35:53,569 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-28 10:35:53,570 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-28 10:35:53,570 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-28 10:35:53,571 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-28 10:35:53,571 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-28 10:35:53,571 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-28 10:35:53,572 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-28 10:35:53,572 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-28 10:35:53,573 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-28 10:35:53,573 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-28 10:35:53,573 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-28 10:35:53,574 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-28 10:35:53,574 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-28 10:35:53,575 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-28 10:35:53,575 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-28 10:35:53,575 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-28 10:35:53,576 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-28 10:35:53,576 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-28 10:35:53,577 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-28 10:35:53,577 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-28 10:35:53,577 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-28 10:35:53,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {26579#(<= |correct_version_#in~w| 17)} assume true; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-28 10:35:53,578 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-28 10:35:53,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-28 10:35:53,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:53,738 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-28 10:35:53,738 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-28 10:35:53,739 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-28 10:35:53,739 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-28 10:35:53,740 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-28 10:35:53,740 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-28 10:35:53,740 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-28 10:35:53,741 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-28 10:35:53,741 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-28 10:35:53,742 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-28 10:35:53,742 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-28 10:35:53,742 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-28 10:35:53,743 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-28 10:35:53,743 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-28 10:35:53,743 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-28 10:35:53,744 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-28 10:35:53,744 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-28 10:35:53,745 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-28 10:35:53,745 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-28 10:35:53,746 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-28 10:35:53,746 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-28 10:35:53,746 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-28 10:35:53,746 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-28 10:35:53,747 INFO L290 TraceCheckUtils]: 23: Hoare triple {26591#(<= 18 |student_version_#in~w|)} assume true; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-28 10:35:53,747 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-28 10:35:53,748 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-28 10:35:53,748 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-28 10:35:53,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {26510#true} assume true; {26510#true} is VALID [2022-04-28 10:35:53,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26510#true} {26510#true} #93#return; {26510#true} is VALID [2022-04-28 10:35:53,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {26510#true} call #t~ret7 := main(); {26510#true} is VALID [2022-04-28 10:35:53,748 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-28 10:35:53,748 INFO L290 TraceCheckUtils]: 6: Hoare triple {26510#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {26510#true} is VALID [2022-04-28 10:35:53,748 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-28 10:35:53,749 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-28 10:35:53,749 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-28 10:35:53,749 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-28 10:35:53,750 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-28 10:35:53,750 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-28 10:35:53,750 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-28 10:35:53,751 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-28 10:35:53,751 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-28 10:35:53,752 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-28 10:35:53,752 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-28 10:35:53,752 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-28 10:35:53,753 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-28 10:35:53,753 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-28 10:35:53,754 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-28 10:35:53,754 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-28 10:35:53,754 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-28 10:35:53,755 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-28 10:35:53,755 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-28 10:35:53,756 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-28 10:35:53,756 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-28 10:35:53,756 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-28 10:35:53,757 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-28 10:35:53,757 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-28 10:35:53,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {26579#(<= |correct_version_#in~w| 17)} assume true; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-28 10:35:53,758 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-28 10:35:53,758 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-28 10:35:53,759 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-28 10:35:53,759 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-28 10:35:53,759 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-28 10:35:53,759 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-28 10:35:53,760 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-28 10:35:53,760 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-28 10:35:53,761 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-28 10:35:53,761 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-28 10:35:53,761 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-28 10:35:53,762 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-28 10:35:53,762 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-28 10:35:53,762 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-28 10:35:53,763 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-28 10:35:53,763 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-28 10:35:53,764 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-28 10:35:53,764 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-28 10:35:53,764 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-28 10:35:53,765 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-28 10:35:53,765 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-28 10:35:53,765 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-28 10:35:53,766 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-28 10:35:53,766 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-28 10:35:53,766 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-28 10:35:53,767 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-28 10:35:53,767 INFO L290 TraceCheckUtils]: 58: Hoare triple {26591#(<= 18 |student_version_#in~w|)} assume true; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-28 10:35:53,768 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-28 10:35:53,768 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-28 10:35:53,768 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-28 10:35:53,768 INFO L290 TraceCheckUtils]: 62: Hoare triple {26511#false} ~cond := #in~cond; {26511#false} is VALID [2022-04-28 10:35:53,768 INFO L290 TraceCheckUtils]: 63: Hoare triple {26511#false} assume 0 == ~cond; {26511#false} is VALID [2022-04-28 10:35:53,768 INFO L290 TraceCheckUtils]: 64: Hoare triple {26511#false} assume !false; {26511#false} is VALID [2022-04-28 10:35:53,768 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-28 10:35:53,768 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:35:53,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [48076159] [2022-04-28 10:35:53,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [48076159] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:35:53,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1487402391] [2022-04-28 10:35:53,769 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:35:53,769 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:35:53,769 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:35:53,770 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:35:53,770 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-28 10:35:53,852 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:35:53,852 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:35:53,852 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 10:35:53,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:35:53,870 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:35:54,865 INFO L272 TraceCheckUtils]: 0: Hoare triple {26510#true} call ULTIMATE.init(); {26510#true} is VALID [2022-04-28 10:35:54,865 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-28 10:35:54,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {26510#true} assume true; {26510#true} is VALID [2022-04-28 10:35:54,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26510#true} {26510#true} #93#return; {26510#true} is VALID [2022-04-28 10:35:54,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {26510#true} call #t~ret7 := main(); {26510#true} is VALID [2022-04-28 10:35:54,865 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-28 10:35:54,866 INFO L290 TraceCheckUtils]: 6: Hoare triple {26510#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {26510#true} is VALID [2022-04-28 10:35:54,866 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-28 10:35:54,866 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-28 10:35:54,866 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-28 10:35:54,867 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-28 10:35:54,867 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-28 10:35:54,867 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-28 10:35:54,868 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-28 10:35:54,868 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-28 10:35:54,869 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-28 10:35:54,869 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-28 10:35:54,869 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-28 10:35:54,870 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-28 10:35:54,870 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-28 10:35:54,870 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-28 10:35:54,871 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-28 10:35:54,871 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-28 10:35:54,872 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-28 10:35:54,872 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-28 10:35:54,872 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-28 10:35:54,873 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-28 10:35:54,873 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-28 10:35:54,874 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-28 10:35:54,874 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-28 10:35:54,874 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-28 10:35:54,874 INFO L290 TraceCheckUtils]: 31: Hoare triple {26579#(<= |correct_version_#in~w| 17)} assume true; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-28 10:35:54,875 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-28 10:35:54,876 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-28 10:35:54,876 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-28 10:35:54,876 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-28 10:35:54,876 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-28 10:35:54,877 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-28 10:35:54,877 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-28 10:35:54,878 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-28 10:35:54,878 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-28 10:35:54,878 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-28 10:35:54,879 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-28 10:35:54,879 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-28 10:35:54,879 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-28 10:35:54,880 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-28 10:35:54,880 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-28 10:35:54,881 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-28 10:35:54,881 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-28 10:35:54,881 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-28 10:35:54,882 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-28 10:35:54,882 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-28 10:35:54,882 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-28 10:35:54,883 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-28 10:35:54,883 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-28 10:35:54,884 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-28 10:35:54,884 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-28 10:35:54,884 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-28 10:35:54,884 INFO L290 TraceCheckUtils]: 58: Hoare triple {26591#(<= 18 |student_version_#in~w|)} assume true; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-28 10:35:54,885 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-28 10:35:54,885 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-28 10:35:54,885 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-28 10:35:54,885 INFO L290 TraceCheckUtils]: 62: Hoare triple {26511#false} ~cond := #in~cond; {26511#false} is VALID [2022-04-28 10:35:54,885 INFO L290 TraceCheckUtils]: 63: Hoare triple {26511#false} assume 0 == ~cond; {26511#false} is VALID [2022-04-28 10:35:54,886 INFO L290 TraceCheckUtils]: 64: Hoare triple {26511#false} assume !false; {26511#false} is VALID [2022-04-28 10:35:54,886 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-28 10:35:54,886 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:02,050 INFO L290 TraceCheckUtils]: 64: Hoare triple {26511#false} assume !false; {26511#false} is VALID [2022-04-28 10:36:02,051 INFO L290 TraceCheckUtils]: 63: Hoare triple {26511#false} assume 0 == ~cond; {26511#false} is VALID [2022-04-28 10:36:02,051 INFO L290 TraceCheckUtils]: 62: Hoare triple {26511#false} ~cond := #in~cond; {26511#false} is VALID [2022-04-28 10:36:02,051 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-28 10:36:02,051 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-28 10:36:02,052 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-28 10:36:02,052 INFO L290 TraceCheckUtils]: 58: Hoare triple {26591#(<= 18 |student_version_#in~w|)} assume true; {26591#(<= 18 |student_version_#in~w|)} is VALID [2022-04-28 10:36:02,052 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-28 10:36:02,052 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-28 10:36:02,053 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-28 10:36:02,053 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-28 10:36:02,054 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-28 10:36:02,054 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-28 10:36:02,054 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-28 10:36:02,055 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-28 10:36:02,055 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-28 10:36:02,055 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-28 10:36:02,056 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-28 10:36:02,056 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-28 10:36:02,056 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-28 10:36:02,057 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-28 10:36:02,057 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-28 10:36:02,057 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-28 10:36:02,058 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-28 10:36:02,058 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-28 10:36:02,058 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-28 10:36:02,059 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-28 10:36:02,059 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-28 10:36:02,060 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-28 10:36:02,060 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-28 10:36:02,060 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-28 10:36:02,060 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-28 10:36:02,061 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-28 10:36:02,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {26579#(<= |correct_version_#in~w| 17)} assume true; {26579#(<= |correct_version_#in~w| 17)} is VALID [2022-04-28 10:36:02,061 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-28 10:36:02,062 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-28 10:36:02,062 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-28 10:36:02,063 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-28 10:36:02,063 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-28 10:36:02,063 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-28 10:36:02,064 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-28 10:36:02,064 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-28 10:36:02,064 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-28 10:36:02,065 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-28 10:36:02,065 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-28 10:36:02,065 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-28 10:36:02,066 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-28 10:36:02,066 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-28 10:36:02,066 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-28 10:36:02,067 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-28 10:36:02,067 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-28 10:36:02,067 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-28 10:36:02,068 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-28 10:36:02,068 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-28 10:36:02,068 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-28 10:36:02,069 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-28 10:36:02,069 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-28 10:36:02,069 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-28 10:36:02,069 INFO L290 TraceCheckUtils]: 6: Hoare triple {26510#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {26510#true} is VALID [2022-04-28 10:36:02,069 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-28 10:36:02,069 INFO L272 TraceCheckUtils]: 4: Hoare triple {26510#true} call #t~ret7 := main(); {26510#true} is VALID [2022-04-28 10:36:02,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26510#true} {26510#true} #93#return; {26510#true} is VALID [2022-04-28 10:36:02,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {26510#true} assume true; {26510#true} is VALID [2022-04-28 10:36:02,069 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-28 10:36:02,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {26510#true} call ULTIMATE.init(); {26510#true} is VALID [2022-04-28 10:36:02,070 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-28 10:36:02,070 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1487402391] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:02,070 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:02,070 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 75 [2022-04-28 10:36:02,070 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:02,070 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1312897466] [2022-04-28 10:36:02,070 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1312897466] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:02,070 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:02,070 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 10:36:02,071 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [568126133] [2022-04-28 10:36:02,071 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:02,071 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-28 10:36:02,071 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:02,071 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-28 10:36:02,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:02,110 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 10:36:02,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:02,110 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 10:36:02,111 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=887, Invalid=4663, Unknown=0, NotChecked=0, Total=5550 [2022-04-28 10:36:02,111 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-28 10:36:03,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:03,759 INFO L93 Difference]: Finished difference Result 94 states and 101 transitions. [2022-04-28 10:36:03,759 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-28 10:36:03,759 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-28 10:36:03,760 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:03,760 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-28 10:36:03,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 96 transitions. [2022-04-28 10:36:03,760 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-28 10:36:03,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 96 transitions. [2022-04-28 10:36:03,761 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 96 transitions. [2022-04-28 10:36:03,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:03,877 INFO L225 Difference]: With dead ends: 94 [2022-04-28 10:36:03,877 INFO L226 Difference]: Without dead ends: 83 [2022-04-28 10:36:03,878 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 187 GetRequests, 83 SyntacticMatches, 5 SemanticMatches, 99 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4300 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=1547, Invalid=8553, Unknown=0, NotChecked=0, Total=10100 [2022-04-28 10:36:03,878 INFO L413 NwaCegarLoop]: 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-28 10:36:03,878 INFO L414 NwaCegarLoop]: 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-28 10:36:03,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-28 10:36:04,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 77. [2022-04-28 10:36:04,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:04,409 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-28 10:36:04,409 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-28 10:36:04,409 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-28 10:36:04,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:04,410 INFO L93 Difference]: Finished difference Result 83 states and 89 transitions. [2022-04-28 10:36:04,410 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 89 transitions. [2022-04-28 10:36:04,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:04,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:04,410 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-28 10:36:04,411 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-28 10:36:04,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:04,411 INFO L93 Difference]: Finished difference Result 83 states and 89 transitions. [2022-04-28 10:36:04,411 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 89 transitions. [2022-04-28 10:36:04,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:04,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:04,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:04,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:04,412 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-28 10:36:04,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 81 transitions. [2022-04-28 10:36:04,412 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 81 transitions. Word has length 65 [2022-04-28 10:36:04,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:04,412 INFO L495 AbstractCegarLoop]: Abstraction has 77 states and 81 transitions. [2022-04-28 10:36:04,413 INFO L496 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-28 10:36:04,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 81 transitions. [2022-04-28 10:36:04,541 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:04,541 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 81 transitions. [2022-04-28 10:36:04,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-28 10:36:04,541 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:04,541 INFO L195 NwaCegarLoop]: 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-28 10:36:04,560 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Forceful destruction successful, exit code 0 [2022-04-28 10:36:04,742 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-28 10:36:04,742 INFO L420 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:04,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:04,742 INFO L85 PathProgramCache]: Analyzing trace with hash 336446803, now seen corresponding path program 31 times [2022-04-28 10:36:04,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:04,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [116201275] [2022-04-28 10:36:04,744 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:04,745 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:04,745 INFO L85 PathProgramCache]: Analyzing trace with hash 336446803, now seen corresponding path program 32 times [2022-04-28 10:36:04,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:04,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [349752125] [2022-04-28 10:36:04,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:04,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:04,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:04,781 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:04,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:04,785 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-28 10:36:04,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {27587#true} assume true; {27587#true} is VALID [2022-04-28 10:36:04,785 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {27587#true} {27587#true} #93#return; {27587#true} is VALID [2022-04-28 10:36:04,785 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:04,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:04,927 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-28 10:36:04,928 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-28 10:36:04,928 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-28 10:36:04,928 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-28 10:36:04,929 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-28 10:36:04,929 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-28 10:36:04,930 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-28 10:36:04,930 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-28 10:36:04,930 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-28 10:36:04,931 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-28 10:36:04,931 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-28 10:36:04,931 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-28 10:36:04,932 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-28 10:36:04,932 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-28 10:36:04,933 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-28 10:36:04,933 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-28 10:36:04,933 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-28 10:36:04,934 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-28 10:36:04,934 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-28 10:36:04,934 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-28 10:36:04,935 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-28 10:36:04,935 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-28 10:36:04,935 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-28 10:36:04,936 INFO L290 TraceCheckUtils]: 23: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} assume true; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:04,937 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-28 10:36:04,937 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-28 10:36:04,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:05,183 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-28 10:36:05,184 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-28 10:36:05,184 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-28 10:36:05,184 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-28 10:36:05,185 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-28 10:36:05,185 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-28 10:36:05,186 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-28 10:36:05,186 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-28 10:36:05,186 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-28 10:36:05,187 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-28 10:36:05,187 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-28 10:36:05,187 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-28 10:36:05,188 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-28 10:36:05,188 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-28 10:36:05,189 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-28 10:36:05,189 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-28 10:36:05,189 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-28 10:36:05,190 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-28 10:36:05,190 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-28 10:36:05,191 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-28 10:36:05,191 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-28 10:36:05,191 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-28 10:36:05,192 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-28 10:36:05,192 INFO L290 TraceCheckUtils]: 23: Hoare triple {27668#(<= |student_version_#in~w| 17)} assume true; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-28 10:36:05,193 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-28 10:36:05,193 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-28 10:36:05,193 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-28 10:36:05,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {27587#true} assume true; {27587#true} is VALID [2022-04-28 10:36:05,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27587#true} {27587#true} #93#return; {27587#true} is VALID [2022-04-28 10:36:05,194 INFO L272 TraceCheckUtils]: 4: Hoare triple {27587#true} call #t~ret7 := main(); {27587#true} is VALID [2022-04-28 10:36:05,194 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-28 10:36:05,194 INFO L290 TraceCheckUtils]: 6: Hoare triple {27587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {27587#true} is VALID [2022-04-28 10:36:05,194 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-28 10:36:05,194 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-28 10:36:05,194 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-28 10:36:05,195 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-28 10:36:05,195 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-28 10:36:05,195 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-28 10:36:05,196 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-28 10:36:05,196 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-28 10:36:05,196 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-28 10:36:05,197 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-28 10:36:05,197 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-28 10:36:05,198 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-28 10:36:05,198 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-28 10:36:05,198 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-28 10:36:05,199 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-28 10:36:05,199 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-28 10:36:05,199 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-28 10:36:05,200 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-28 10:36:05,200 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-28 10:36:05,201 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-28 10:36:05,201 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-28 10:36:05,201 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-28 10:36:05,202 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-28 10:36:05,202 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-28 10:36:05,202 INFO L290 TraceCheckUtils]: 31: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} assume true; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:05,203 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-28 10:36:05,203 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-28 10:36:05,203 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-28 10:36:05,204 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-28 10:36:05,204 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-28 10:36:05,204 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-28 10:36:05,205 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-28 10:36:05,205 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-28 10:36:05,205 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-28 10:36:05,206 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-28 10:36:05,206 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-28 10:36:05,207 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-28 10:36:05,207 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-28 10:36:05,207 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-28 10:36:05,208 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-28 10:36:05,208 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-28 10:36:05,208 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-28 10:36:05,209 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-28 10:36:05,209 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-28 10:36:05,209 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-28 10:36:05,210 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-28 10:36:05,210 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-28 10:36:05,211 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-28 10:36:05,211 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-28 10:36:05,211 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-28 10:36:05,212 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-28 10:36:05,212 INFO L290 TraceCheckUtils]: 58: Hoare triple {27668#(<= |student_version_#in~w| 17)} assume true; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-28 10:36:05,213 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-28 10:36:05,213 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-28 10:36:05,213 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-28 10:36:05,213 INFO L290 TraceCheckUtils]: 62: Hoare triple {27588#false} ~cond := #in~cond; {27588#false} is VALID [2022-04-28 10:36:05,213 INFO L290 TraceCheckUtils]: 63: Hoare triple {27588#false} assume 0 == ~cond; {27588#false} is VALID [2022-04-28 10:36:05,213 INFO L290 TraceCheckUtils]: 64: Hoare triple {27588#false} assume !false; {27588#false} is VALID [2022-04-28 10:36:05,213 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-28 10:36:05,213 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:05,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [349752125] [2022-04-28 10:36:05,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [349752125] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:05,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1125112246] [2022-04-28 10:36:05,214 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:36:05,214 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:05,214 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:05,215 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:05,216 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2022-04-28 10:36:05,294 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:36:05,295 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:05,295 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 10:36:05,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:05,310 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:06,505 INFO L272 TraceCheckUtils]: 0: Hoare triple {27587#true} call ULTIMATE.init(); {27587#true} is VALID [2022-04-28 10:36:06,505 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-28 10:36:06,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {27587#true} assume true; {27587#true} is VALID [2022-04-28 10:36:06,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27587#true} {27587#true} #93#return; {27587#true} is VALID [2022-04-28 10:36:06,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {27587#true} call #t~ret7 := main(); {27587#true} is VALID [2022-04-28 10:36:06,506 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-28 10:36:06,506 INFO L290 TraceCheckUtils]: 6: Hoare triple {27587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {27587#true} is VALID [2022-04-28 10:36:06,506 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-28 10:36:06,506 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-28 10:36:06,506 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-28 10:36:06,507 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-28 10:36:06,507 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-28 10:36:06,507 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-28 10:36:06,508 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-28 10:36:06,508 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-28 10:36:06,508 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-28 10:36:06,509 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-28 10:36:06,509 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-28 10:36:06,509 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-28 10:36:06,510 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-28 10:36:06,510 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-28 10:36:06,511 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-28 10:36:06,511 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-28 10:36:06,511 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-28 10:36:06,512 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-28 10:36:06,512 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-28 10:36:06,512 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-28 10:36:06,513 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-28 10:36:06,513 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-28 10:36:06,513 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-28 10:36:06,514 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-28 10:36:06,514 INFO L290 TraceCheckUtils]: 31: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} assume true; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:06,515 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-28 10:36:06,515 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-28 10:36:06,515 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-28 10:36:06,515 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-28 10:36:06,516 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-28 10:36:06,516 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-28 10:36:06,516 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-28 10:36:06,517 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-28 10:36:06,517 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-28 10:36:06,517 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-28 10:36:06,518 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-28 10:36:06,518 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-28 10:36:06,518 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-28 10:36:06,519 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-28 10:36:06,519 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-28 10:36:06,519 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-28 10:36:06,520 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-28 10:36:06,520 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-28 10:36:06,521 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-28 10:36:06,521 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-28 10:36:06,521 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-28 10:36:06,522 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-28 10:36:06,522 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-28 10:36:06,522 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-28 10:36:06,523 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-28 10:36:06,523 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-28 10:36:06,523 INFO L290 TraceCheckUtils]: 58: Hoare triple {27668#(<= |student_version_#in~w| 17)} assume true; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-28 10:36:06,524 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-28 10:36:06,524 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-28 10:36:06,524 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-28 10:36:06,524 INFO L290 TraceCheckUtils]: 62: Hoare triple {27588#false} ~cond := #in~cond; {27588#false} is VALID [2022-04-28 10:36:06,524 INFO L290 TraceCheckUtils]: 63: Hoare triple {27588#false} assume 0 == ~cond; {27588#false} is VALID [2022-04-28 10:36:06,524 INFO L290 TraceCheckUtils]: 64: Hoare triple {27588#false} assume !false; {27588#false} is VALID [2022-04-28 10:36:06,524 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-28 10:36:06,524 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:13,331 INFO L290 TraceCheckUtils]: 64: Hoare triple {27588#false} assume !false; {27588#false} is VALID [2022-04-28 10:36:13,332 INFO L290 TraceCheckUtils]: 63: Hoare triple {27588#false} assume 0 == ~cond; {27588#false} is VALID [2022-04-28 10:36:13,332 INFO L290 TraceCheckUtils]: 62: Hoare triple {27588#false} ~cond := #in~cond; {27588#false} is VALID [2022-04-28 10:36:13,332 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-28 10:36:13,332 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-28 10:36:13,333 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-28 10:36:13,333 INFO L290 TraceCheckUtils]: 58: Hoare triple {27668#(<= |student_version_#in~w| 17)} assume true; {27668#(<= |student_version_#in~w| 17)} is VALID [2022-04-28 10:36:13,333 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-28 10:36:13,333 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-28 10:36:13,334 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-28 10:36:13,334 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-28 10:36:13,335 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-28 10:36:13,335 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-28 10:36:13,335 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-28 10:36:13,336 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-28 10:36:13,336 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-28 10:36:13,336 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-28 10:36:13,337 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-28 10:36:13,337 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-28 10:36:13,337 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-28 10:36:13,338 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-28 10:36:13,338 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-28 10:36:13,339 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-28 10:36:13,339 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-28 10:36:13,339 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-28 10:36:13,339 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-28 10:36:13,340 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-28 10:36:13,340 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-28 10:36:13,341 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-28 10:36:13,341 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-28 10:36:13,341 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-28 10:36:13,341 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-28 10:36:13,342 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-28 10:36:13,342 INFO L290 TraceCheckUtils]: 31: Hoare triple {27655#(<= 18 |correct_version_#in~w|)} assume true; {27655#(<= 18 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:13,343 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-28 10:36:13,343 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-28 10:36:13,343 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-28 10:36:13,344 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-28 10:36:13,344 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-28 10:36:13,345 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-28 10:36:13,345 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-28 10:36:13,345 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-28 10:36:13,346 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-28 10:36:13,346 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-28 10:36:13,346 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-28 10:36:13,347 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-28 10:36:13,347 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-28 10:36:13,348 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-28 10:36:13,348 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-28 10:36:13,348 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-28 10:36:13,349 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-28 10:36:13,351 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-28 10:36:13,352 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-28 10:36:13,352 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-28 10:36:13,353 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-28 10:36:13,353 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-28 10:36:13,353 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-28 10:36:13,353 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-28 10:36:13,354 INFO L290 TraceCheckUtils]: 6: Hoare triple {27587#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {27587#true} is VALID [2022-04-28 10:36:13,354 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-28 10:36:13,354 INFO L272 TraceCheckUtils]: 4: Hoare triple {27587#true} call #t~ret7 := main(); {27587#true} is VALID [2022-04-28 10:36:13,354 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27587#true} {27587#true} #93#return; {27587#true} is VALID [2022-04-28 10:36:13,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {27587#true} assume true; {27587#true} is VALID [2022-04-28 10:36:13,354 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-28 10:36:13,354 INFO L272 TraceCheckUtils]: 0: Hoare triple {27587#true} call ULTIMATE.init(); {27587#true} is VALID [2022-04-28 10:36:13,354 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-28 10:36:13,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1125112246] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:13,354 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:13,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [29, 28, 28] total 75 [2022-04-28 10:36:13,355 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:13,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [116201275] [2022-04-28 10:36:13,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [116201275] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:13,355 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:13,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 10:36:13,355 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283685318] [2022-04-28 10:36:13,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:13,355 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-28 10:36:13,355 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:13,355 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-28 10:36:13,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:13,407 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 10:36:13,407 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:13,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 10:36:13,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=887, Invalid=4663, Unknown=0, NotChecked=0, Total=5550 [2022-04-28 10:36:13,408 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-28 10:36:15,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:15,250 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2022-04-28 10:36:15,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-28 10:36:15,251 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-28 10:36:15,251 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:15,251 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-28 10:36:15,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 89 transitions. [2022-04-28 10:36:15,252 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-28 10:36:15,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 89 transitions. [2022-04-28 10:36:15,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 89 transitions. [2022-04-28 10:36:15,319 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:15,320 INFO L225 Difference]: With dead ends: 89 [2022-04-28 10:36:15,320 INFO L226 Difference]: Without dead ends: 80 [2022-04-28 10:36:15,321 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 187 GetRequests, 83 SyntacticMatches, 5 SemanticMatches, 99 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4310 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=1547, Invalid=8553, Unknown=0, NotChecked=0, Total=10100 [2022-04-28 10:36:15,321 INFO L413 NwaCegarLoop]: 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-28 10:36:15,321 INFO L414 NwaCegarLoop]: 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-28 10:36:15,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-28 10:36:15,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 80. [2022-04-28 10:36:15,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:15,851 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-28 10:36:15,851 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-28 10:36:15,851 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-28 10:36:15,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:15,852 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2022-04-28 10:36:15,852 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2022-04-28 10:36:15,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:15,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:15,852 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-28 10:36:15,852 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-28 10:36:15,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:15,853 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2022-04-28 10:36:15,853 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2022-04-28 10:36:15,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:15,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:15,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:15,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:15,853 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-28 10:36:15,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 85 transitions. [2022-04-28 10:36:15,854 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 85 transitions. Word has length 65 [2022-04-28 10:36:15,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:15,854 INFO L495 AbstractCegarLoop]: Abstraction has 80 states and 85 transitions. [2022-04-28 10:36:15,854 INFO L496 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-28 10:36:15,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 80 states and 85 transitions. [2022-04-28 10:36:16,003 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-28 10:36:16,004 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2022-04-28 10:36:16,004 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 10:36:16,004 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:16,004 INFO L195 NwaCegarLoop]: 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-28 10:36:16,020 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Forceful destruction successful, exit code 0 [2022-04-28 10:36:16,204 WARN L477 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-28 10:36:16,205 INFO L420 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:16,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:16,205 INFO L85 PathProgramCache]: Analyzing trace with hash -524390571, now seen corresponding path program 33 times [2022-04-28 10:36:16,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:16,205 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [404347772] [2022-04-28 10:36:16,207 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:16,207 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:16,207 INFO L85 PathProgramCache]: Analyzing trace with hash -524390571, now seen corresponding path program 34 times [2022-04-28 10:36:16,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:16,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2031137221] [2022-04-28 10:36:16,207 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:16,207 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:16,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:16,250 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:16,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:16,252 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-28 10:36:16,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {28654#true} assume true; {28654#true} is VALID [2022-04-28 10:36:16,252 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28654#true} {28654#true} #93#return; {28654#true} is VALID [2022-04-28 10:36:16,252 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:16,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:16,391 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-28 10:36:16,391 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-28 10:36:16,391 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-28 10:36:16,392 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-28 10:36:16,392 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-28 10:36:16,393 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-28 10:36:16,393 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-28 10:36:16,393 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-28 10:36:16,394 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-28 10:36:16,394 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-28 10:36:16,394 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-28 10:36:16,395 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-28 10:36:16,395 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-28 10:36:16,396 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-28 10:36:16,396 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-28 10:36:16,396 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-28 10:36:16,397 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-28 10:36:16,397 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-28 10:36:16,397 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-28 10:36:16,398 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-28 10:36:16,398 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-28 10:36:16,398 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-28 10:36:16,399 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-28 10:36:16,399 INFO L290 TraceCheckUtils]: 23: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume true; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-28 10:36:16,400 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-28 10:36:16,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2022-04-28 10:36:16,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:16,578 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-28 10:36:16,578 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-28 10:36:16,578 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-28 10:36:16,579 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-28 10:36:16,579 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-28 10:36:16,580 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-28 10:36:16,580 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-28 10:36:16,580 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-28 10:36:16,581 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-28 10:36:16,581 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-28 10:36:16,581 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-28 10:36:16,582 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-28 10:36:16,582 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-28 10:36:16,582 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-28 10:36:16,583 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-28 10:36:16,583 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-28 10:36:16,584 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-28 10:36:16,584 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-28 10:36:16,584 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-28 10:36:16,585 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-28 10:36:16,585 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-28 10:36:16,585 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-28 10:36:16,586 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-28 10:36:16,586 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-28 10:36:16,586 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-28 10:36:16,587 INFO L290 TraceCheckUtils]: 25: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume true; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-28 10:36:16,587 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-28 10:36:16,588 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-28 10:36:16,588 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-28 10:36:16,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {28654#true} assume true; {28654#true} is VALID [2022-04-28 10:36:16,588 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28654#true} {28654#true} #93#return; {28654#true} is VALID [2022-04-28 10:36:16,588 INFO L272 TraceCheckUtils]: 4: Hoare triple {28654#true} call #t~ret7 := main(); {28654#true} is VALID [2022-04-28 10:36:16,588 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-28 10:36:16,588 INFO L290 TraceCheckUtils]: 6: Hoare triple {28654#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {28654#true} is VALID [2022-04-28 10:36:16,588 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-28 10:36:16,589 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-28 10:36:16,589 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-28 10:36:16,589 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-28 10:36:16,590 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-28 10:36:16,590 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-28 10:36:16,591 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-28 10:36:16,591 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-28 10:36:16,591 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-28 10:36:16,592 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-28 10:36:16,592 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-28 10:36:16,592 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-28 10:36:16,593 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-28 10:36:16,593 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-28 10:36:16,593 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-28 10:36:16,594 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-28 10:36:16,594 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-28 10:36:16,595 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-28 10:36:16,595 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-28 10:36:16,595 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-28 10:36:16,596 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-28 10:36:16,596 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-28 10:36:16,596 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-28 10:36:16,597 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-28 10:36:16,597 INFO L290 TraceCheckUtils]: 31: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume true; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-28 10:36:16,598 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-28 10:36:16,598 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-28 10:36:16,598 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-28 10:36:16,598 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-28 10:36:16,599 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-28 10:36:16,599 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-28 10:36:16,600 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-28 10:36:16,600 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-28 10:36:16,600 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-28 10:36:16,601 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-28 10:36:16,601 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-28 10:36:16,601 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-28 10:36:16,602 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-28 10:36:16,602 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-28 10:36:16,602 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-28 10:36:16,603 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-28 10:36:16,603 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-28 10:36:16,603 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-28 10:36:16,604 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-28 10:36:16,604 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-28 10:36:16,605 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-28 10:36:16,605 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-28 10:36:16,605 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-28 10:36:16,606 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-28 10:36:16,606 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-28 10:36:16,607 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-28 10:36:16,607 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-28 10:36:16,608 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-28 10:36:16,608 INFO L290 TraceCheckUtils]: 60: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume true; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-28 10:36:16,609 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-28 10:36:16,609 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-28 10:36:16,609 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-28 10:36:16,609 INFO L290 TraceCheckUtils]: 64: Hoare triple {28655#false} ~cond := #in~cond; {28655#false} is VALID [2022-04-28 10:36:16,609 INFO L290 TraceCheckUtils]: 65: Hoare triple {28655#false} assume 0 == ~cond; {28655#false} is VALID [2022-04-28 10:36:16,609 INFO L290 TraceCheckUtils]: 66: Hoare triple {28655#false} assume !false; {28655#false} is VALID [2022-04-28 10:36:16,610 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-28 10:36:16,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:16,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2031137221] [2022-04-28 10:36:16,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2031137221] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:16,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [830514442] [2022-04-28 10:36:16,610 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:36:16,610 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:16,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:16,616 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:16,617 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2022-04-28 10:36:16,700 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:36:16,700 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:16,701 INFO L263 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 10:36:16,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:16,716 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:17,579 INFO L272 TraceCheckUtils]: 0: Hoare triple {28654#true} call ULTIMATE.init(); {28654#true} is VALID [2022-04-28 10:36:17,579 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-28 10:36:17,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {28654#true} assume true; {28654#true} is VALID [2022-04-28 10:36:17,579 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28654#true} {28654#true} #93#return; {28654#true} is VALID [2022-04-28 10:36:17,579 INFO L272 TraceCheckUtils]: 4: Hoare triple {28654#true} call #t~ret7 := main(); {28654#true} is VALID [2022-04-28 10:36:17,579 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-28 10:36:17,579 INFO L290 TraceCheckUtils]: 6: Hoare triple {28654#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {28654#true} is VALID [2022-04-28 10:36:17,579 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-28 10:36:17,580 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-28 10:36:17,580 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-28 10:36:17,580 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-28 10:36:17,581 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-28 10:36:17,581 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-28 10:36:17,582 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-28 10:36:17,582 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-28 10:36:17,582 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-28 10:36:17,583 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-28 10:36:17,583 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-28 10:36:17,583 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-28 10:36:17,584 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-28 10:36:17,584 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-28 10:36:17,584 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-28 10:36:17,585 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-28 10:36:17,585 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-28 10:36:17,585 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-28 10:36:17,586 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-28 10:36:17,586 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-28 10:36:17,586 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-28 10:36:17,587 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-28 10:36:17,587 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-28 10:36:17,587 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-28 10:36:17,588 INFO L290 TraceCheckUtils]: 31: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume true; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-28 10:36:17,588 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-28 10:36:17,589 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-28 10:36:17,589 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-28 10:36:17,589 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-28 10:36:17,589 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-28 10:36:17,590 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-28 10:36:17,590 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-28 10:36:17,590 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-28 10:36:17,591 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-28 10:36:17,591 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-28 10:36:17,592 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-28 10:36:17,592 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-28 10:36:17,592 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-28 10:36:17,593 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-28 10:36:17,593 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-28 10:36:17,593 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-28 10:36:17,594 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-28 10:36:17,594 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-28 10:36:17,594 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-28 10:36:17,595 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-28 10:36:17,595 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-28 10:36:17,595 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-28 10:36:17,596 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-28 10:36:17,596 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-28 10:36:17,596 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-28 10:36:17,597 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-28 10:36:17,597 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-28 10:36:17,599 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-28 10:36:17,599 INFO L290 TraceCheckUtils]: 60: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume true; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-28 10:36:17,600 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-28 10:36:17,600 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-28 10:36:17,600 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-28 10:36:17,600 INFO L290 TraceCheckUtils]: 64: Hoare triple {28655#false} ~cond := #in~cond; {28655#false} is VALID [2022-04-28 10:36:17,600 INFO L290 TraceCheckUtils]: 65: Hoare triple {28655#false} assume 0 == ~cond; {28655#false} is VALID [2022-04-28 10:36:17,600 INFO L290 TraceCheckUtils]: 66: Hoare triple {28655#false} assume !false; {28655#false} is VALID [2022-04-28 10:36:17,600 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-28 10:36:17,600 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:21,590 INFO L290 TraceCheckUtils]: 66: Hoare triple {28655#false} assume !false; {28655#false} is VALID [2022-04-28 10:36:21,591 INFO L290 TraceCheckUtils]: 65: Hoare triple {28655#false} assume 0 == ~cond; {28655#false} is VALID [2022-04-28 10:36:21,591 INFO L290 TraceCheckUtils]: 64: Hoare triple {28655#false} ~cond := #in~cond; {28655#false} is VALID [2022-04-28 10:36:21,591 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-28 10:36:21,591 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-28 10:36:21,592 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-28 10:36:21,592 INFO L290 TraceCheckUtils]: 60: Hoare triple {28738#(<= 19 |student_version_#in~w|)} assume true; {28738#(<= 19 |student_version_#in~w|)} is VALID [2022-04-28 10:36:21,592 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-28 10:36:21,593 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-28 10:36:21,593 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-28 10:36:21,593 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-28 10:36:21,594 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-28 10:36:21,594 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-28 10:36:21,594 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-28 10:36:21,595 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-28 10:36:21,595 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-28 10:36:21,596 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-28 10:36:21,596 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-28 10:36:21,597 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-28 10:36:21,597 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-28 10:36:21,597 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-28 10:36:21,598 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-28 10:36:21,598 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-28 10:36:21,598 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-28 10:36:21,599 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-28 10:36:21,599 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-28 10:36:21,600 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-28 10:36:21,600 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-28 10:36:21,601 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-28 10:36:21,601 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-28 10:36:21,601 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-28 10:36:21,602 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-28 10:36:21,602 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-28 10:36:21,602 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-28 10:36:21,603 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-28 10:36:21,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {28725#(<= |correct_version_#in~w| 18)} assume true; {28725#(<= |correct_version_#in~w| 18)} is VALID [2022-04-28 10:36:21,604 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-28 10:36:21,604 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-28 10:36:21,604 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-28 10:36:21,605 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-28 10:36:21,605 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-28 10:36:21,605 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-28 10:36:21,606 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-28 10:36:21,606 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-28 10:36:21,606 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-28 10:36:21,607 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-28 10:36:21,607 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-28 10:36:21,608 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-28 10:36:21,608 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-28 10:36:21,609 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-28 10:36:21,609 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-28 10:36:21,610 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-28 10:36:21,610 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-28 10:36:21,611 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-28 10:36:21,611 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-28 10:36:21,611 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-28 10:36:21,612 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-28 10:36:21,612 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-28 10:36:21,613 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-28 10:36:21,613 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-28 10:36:21,613 INFO L290 TraceCheckUtils]: 6: Hoare triple {28654#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {28654#true} is VALID [2022-04-28 10:36:21,613 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-28 10:36:21,613 INFO L272 TraceCheckUtils]: 4: Hoare triple {28654#true} call #t~ret7 := main(); {28654#true} is VALID [2022-04-28 10:36:21,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28654#true} {28654#true} #93#return; {28654#true} is VALID [2022-04-28 10:36:21,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {28654#true} assume true; {28654#true} is VALID [2022-04-28 10:36:21,613 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-28 10:36:21,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {28654#true} call ULTIMATE.init(); {28654#true} is VALID [2022-04-28 10:36:21,613 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-28 10:36:21,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [830514442] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:21,614 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:21,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 27, 27] total 74 [2022-04-28 10:36:21,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:21,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [404347772] [2022-04-28 10:36:21,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [404347772] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:21,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:21,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-28 10:36:21,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2110524707] [2022-04-28 10:36:21,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:21,614 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-28 10:36:21,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:21,615 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-28 10:36:21,663 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-28 10:36:21,663 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-28 10:36:21,663 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:21,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-28 10:36:21,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=901, Invalid=4501, Unknown=0, NotChecked=0, Total=5402 [2022-04-28 10:36:21,664 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-28 10:36:23,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:23,404 INFO L93 Difference]: Finished difference Result 95 states and 100 transitions. [2022-04-28 10:36:23,404 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 10:36:23,404 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-28 10:36:23,404 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:23,404 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-28 10:36:23,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 92 transitions. [2022-04-28 10:36:23,405 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-28 10:36:23,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 92 transitions. [2022-04-28 10:36:23,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 92 transitions. [2022-04-28 10:36:23,484 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-28 10:36:23,485 INFO L225 Difference]: With dead ends: 95 [2022-04-28 10:36:23,485 INFO L226 Difference]: Without dead ends: 83 [2022-04-28 10:36:23,486 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 191 GetRequests, 89 SyntacticMatches, 5 SemanticMatches, 97 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4254 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=1548, Invalid=8154, Unknown=0, NotChecked=0, Total=9702 [2022-04-28 10:36:23,486 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 90 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 477 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:36:23,486 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [93 Valid, 62 Invalid, 512 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 477 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 10:36:23,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-28 10:36:24,142 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 79. [2022-04-28 10:36:24,142 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:24,143 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-28 10:36:24,143 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-28 10:36:24,143 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-28 10:36:24,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:24,144 INFO L93 Difference]: Finished difference Result 83 states and 87 transitions. [2022-04-28 10:36:24,144 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 87 transitions. [2022-04-28 10:36:24,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:24,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:24,144 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-28 10:36:24,144 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-28 10:36:24,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:24,145 INFO L93 Difference]: Finished difference Result 83 states and 87 transitions. [2022-04-28 10:36:24,145 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 87 transitions. [2022-04-28 10:36:24,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:24,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:24,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:24,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:24,145 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-28 10:36:24,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 83 transitions. [2022-04-28 10:36:24,146 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 83 transitions. Word has length 67 [2022-04-28 10:36:24,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:24,146 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 83 transitions. [2022-04-28 10:36:24,146 INFO L496 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-28 10:36:24,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 83 transitions. [2022-04-28 10:36:24,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:24,293 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2022-04-28 10:36:24,293 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 10:36:24,293 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:24,293 INFO L195 NwaCegarLoop]: 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-28 10:36:24,309 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Forceful destruction successful, exit code 0 [2022-04-28 10:36:24,493 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable38 [2022-04-28 10:36:24,494 INFO L420 AbstractCegarLoop]: === Iteration 40 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:24,494 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:24,494 INFO L85 PathProgramCache]: Analyzing trace with hash 95472949, now seen corresponding path program 33 times [2022-04-28 10:36:24,494 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:24,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1998154029] [2022-04-28 10:36:24,497 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:24,497 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:24,497 INFO L85 PathProgramCache]: Analyzing trace with hash 95472949, now seen corresponding path program 34 times [2022-04-28 10:36:24,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:24,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [400032493] [2022-04-28 10:36:24,497 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:24,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:24,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:24,538 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:24,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:24,541 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-28 10:36:24,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {29748#true} assume true; {29748#true} is VALID [2022-04-28 10:36:24,541 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {29748#true} {29748#true} #93#return; {29748#true} is VALID [2022-04-28 10:36:24,541 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:24,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:24,710 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-28 10:36:24,711 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-28 10:36:24,711 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-28 10:36:24,711 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-28 10:36:24,712 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-28 10:36:24,712 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-28 10:36:24,713 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-28 10:36:24,713 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-28 10:36:24,714 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-28 10:36:24,714 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-28 10:36:24,714 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-28 10:36:24,715 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-28 10:36:24,715 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-28 10:36:24,716 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-28 10:36:24,716 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-28 10:36:24,716 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-28 10:36:24,717 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-28 10:36:24,717 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-28 10:36:24,717 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-28 10:36:24,718 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-28 10:36:24,718 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-28 10:36:24,719 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-28 10:36:24,719 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-28 10:36:24,719 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-28 10:36:24,720 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-28 10:36:24,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume true; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:24,721 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-28 10:36:24,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 10:36:24,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:24,948 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-28 10:36:24,948 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-28 10:36:24,948 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-28 10:36:24,949 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-28 10:36:24,949 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-28 10:36:24,950 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-28 10:36:24,950 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-28 10:36:24,950 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-28 10:36:24,951 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-28 10:36:24,951 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-28 10:36:24,952 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-28 10:36:24,952 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-28 10:36:24,952 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-28 10:36:24,953 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-28 10:36:24,953 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-28 10:36:24,954 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-28 10:36:24,954 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-28 10:36:24,954 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-28 10:36:24,955 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-28 10:36:24,955 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-28 10:36:24,956 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-28 10:36:24,956 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-28 10:36:24,956 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-28 10:36:24,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume true; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-28 10:36:24,957 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-28 10:36:24,958 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-28 10:36:24,958 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-28 10:36:24,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {29748#true} assume true; {29748#true} is VALID [2022-04-28 10:36:24,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29748#true} {29748#true} #93#return; {29748#true} is VALID [2022-04-28 10:36:24,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {29748#true} call #t~ret7 := main(); {29748#true} is VALID [2022-04-28 10:36:24,958 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-28 10:36:24,958 INFO L290 TraceCheckUtils]: 6: Hoare triple {29748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {29748#true} is VALID [2022-04-28 10:36:24,958 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-28 10:36:24,958 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-28 10:36:24,959 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-28 10:36:24,967 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-28 10:36:24,968 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-28 10:36:24,968 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-28 10:36:24,969 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-28 10:36:24,969 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-28 10:36:24,970 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-28 10:36:24,970 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-28 10:36:24,971 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-28 10:36:24,971 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-28 10:36:24,972 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-28 10:36:24,972 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-28 10:36:24,972 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-28 10:36:24,973 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-28 10:36:24,973 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-28 10:36:24,974 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-28 10:36:24,974 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-28 10:36:24,975 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-28 10:36:24,975 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-28 10:36:24,975 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-28 10:36:24,976 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-28 10:36:24,976 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-28 10:36:24,977 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-28 10:36:24,977 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-28 10:36:24,977 INFO L290 TraceCheckUtils]: 33: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume true; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:24,978 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-28 10:36:24,979 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-28 10:36:24,979 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-28 10:36:24,979 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-28 10:36:24,979 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-28 10:36:24,980 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-28 10:36:24,980 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-28 10:36:24,981 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-28 10:36:24,981 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-28 10:36:24,981 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-28 10:36:24,982 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-28 10:36:24,982 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-28 10:36:24,983 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-28 10:36:24,983 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-28 10:36:24,984 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-28 10:36:24,984 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-28 10:36:24,984 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-28 10:36:24,985 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-28 10:36:24,985 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-28 10:36:24,986 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-28 10:36:24,986 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-28 10:36:24,986 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-28 10:36:24,987 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-28 10:36:24,987 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-28 10:36:24,988 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-28 10:36:24,988 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-28 10:36:24,988 INFO L290 TraceCheckUtils]: 60: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume true; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-28 10:36:24,989 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-28 10:36:24,989 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-28 10:36:24,989 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-28 10:36:24,989 INFO L290 TraceCheckUtils]: 64: Hoare triple {29749#false} ~cond := #in~cond; {29749#false} is VALID [2022-04-28 10:36:24,989 INFO L290 TraceCheckUtils]: 65: Hoare triple {29749#false} assume 0 == ~cond; {29749#false} is VALID [2022-04-28 10:36:24,990 INFO L290 TraceCheckUtils]: 66: Hoare triple {29749#false} assume !false; {29749#false} is VALID [2022-04-28 10:36:24,990 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-28 10:36:24,990 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:24,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [400032493] [2022-04-28 10:36:24,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [400032493] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:24,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [711881762] [2022-04-28 10:36:24,990 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:36:24,990 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:24,990 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:24,991 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:24,992 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2022-04-28 10:36:25,074 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:36:25,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:25,075 INFO L263 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 10:36:25,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:25,090 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:26,161 INFO L272 TraceCheckUtils]: 0: Hoare triple {29748#true} call ULTIMATE.init(); {29748#true} is VALID [2022-04-28 10:36:26,161 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-28 10:36:26,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {29748#true} assume true; {29748#true} is VALID [2022-04-28 10:36:26,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29748#true} {29748#true} #93#return; {29748#true} is VALID [2022-04-28 10:36:26,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {29748#true} call #t~ret7 := main(); {29748#true} is VALID [2022-04-28 10:36:26,162 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-28 10:36:26,162 INFO L290 TraceCheckUtils]: 6: Hoare triple {29748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {29748#true} is VALID [2022-04-28 10:36:26,162 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-28 10:36:26,162 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-28 10:36:26,162 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-28 10:36:26,163 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-28 10:36:26,163 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-28 10:36:26,163 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-28 10:36:26,164 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-28 10:36:26,164 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-28 10:36:26,165 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-28 10:36:26,165 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-28 10:36:26,165 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-28 10:36:26,166 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-28 10:36:26,166 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-28 10:36:26,166 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-28 10:36:26,167 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-28 10:36:26,167 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-28 10:36:26,167 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-28 10:36:26,168 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-28 10:36:26,168 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-28 10:36:26,168 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-28 10:36:26,169 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-28 10:36:26,169 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-28 10:36:26,169 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-28 10:36:26,170 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-28 10:36:26,170 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-28 10:36:26,170 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-28 10:36:26,170 INFO L290 TraceCheckUtils]: 33: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume true; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:26,171 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-28 10:36:26,172 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-28 10:36:26,172 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-28 10:36:26,172 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-28 10:36:26,172 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-28 10:36:26,172 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-28 10:36:26,173 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-28 10:36:26,173 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-28 10:36:26,174 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-28 10:36:26,174 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-28 10:36:26,174 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-28 10:36:26,175 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-28 10:36:26,175 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-28 10:36:26,175 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-28 10:36:26,176 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-28 10:36:26,176 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-28 10:36:26,176 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-28 10:36:26,177 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-28 10:36:26,177 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-28 10:36:26,177 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-28 10:36:26,178 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-28 10:36:26,178 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-28 10:36:26,178 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-28 10:36:26,179 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-28 10:36:26,179 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-28 10:36:26,179 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-28 10:36:26,180 INFO L290 TraceCheckUtils]: 60: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume true; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-28 10:36:26,180 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-28 10:36:26,180 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-28 10:36:26,180 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-28 10:36:26,180 INFO L290 TraceCheckUtils]: 64: Hoare triple {29749#false} ~cond := #in~cond; {29749#false} is VALID [2022-04-28 10:36:26,180 INFO L290 TraceCheckUtils]: 65: Hoare triple {29749#false} assume 0 == ~cond; {29749#false} is VALID [2022-04-28 10:36:26,181 INFO L290 TraceCheckUtils]: 66: Hoare triple {29749#false} assume !false; {29749#false} is VALID [2022-04-28 10:36:26,181 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-28 10:36:26,181 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:30,030 INFO L290 TraceCheckUtils]: 66: Hoare triple {29749#false} assume !false; {29749#false} is VALID [2022-04-28 10:36:30,031 INFO L290 TraceCheckUtils]: 65: Hoare triple {29749#false} assume 0 == ~cond; {29749#false} is VALID [2022-04-28 10:36:30,031 INFO L290 TraceCheckUtils]: 64: Hoare triple {29749#false} ~cond := #in~cond; {29749#false} is VALID [2022-04-28 10:36:30,031 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-28 10:36:30,031 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-28 10:36:30,032 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-28 10:36:30,032 INFO L290 TraceCheckUtils]: 60: Hoare triple {29832#(<= |student_version_#in~w| 18)} assume true; {29832#(<= |student_version_#in~w| 18)} is VALID [2022-04-28 10:36:30,032 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-28 10:36:30,032 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-28 10:36:30,033 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-28 10:36:30,033 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-28 10:36:30,033 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-28 10:36:30,034 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-28 10:36:30,034 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-28 10:36:30,034 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-28 10:36:30,035 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-28 10:36:30,035 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-28 10:36:30,035 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-28 10:36:30,036 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-28 10:36:30,036 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-28 10:36:30,036 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-28 10:36:30,037 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-28 10:36:30,037 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-28 10:36:30,037 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-28 10:36:30,038 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-28 10:36:30,038 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-28 10:36:30,039 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-28 10:36:30,039 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-28 10:36:30,039 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-28 10:36:30,039 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-28 10:36:30,040 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-28 10:36:30,040 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-28 10:36:30,041 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-28 10:36:30,041 INFO L290 TraceCheckUtils]: 33: Hoare triple {29819#(<= 19 |correct_version_#in~w|)} assume true; {29819#(<= 19 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:30,041 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-28 10:36:30,041 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-28 10:36:30,042 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-28 10:36:30,042 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-28 10:36:30,042 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-28 10:36:30,043 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-28 10:36:30,043 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-28 10:36:30,043 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-28 10:36:30,044 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-28 10:36:30,044 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-28 10:36:30,044 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-28 10:36:30,045 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-28 10:36:30,045 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-28 10:36:30,046 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-28 10:36:30,046 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-28 10:36:30,046 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-28 10:36:30,047 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-28 10:36:30,047 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-28 10:36:30,047 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-28 10:36:30,048 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-28 10:36:30,048 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-28 10:36:30,048 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-28 10:36:30,049 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-28 10:36:30,049 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-28 10:36:30,049 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-28 10:36:30,049 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-28 10:36:30,049 INFO L290 TraceCheckUtils]: 6: Hoare triple {29748#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {29748#true} is VALID [2022-04-28 10:36:30,050 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-28 10:36:30,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {29748#true} call #t~ret7 := main(); {29748#true} is VALID [2022-04-28 10:36:30,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29748#true} {29748#true} #93#return; {29748#true} is VALID [2022-04-28 10:36:30,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {29748#true} assume true; {29748#true} is VALID [2022-04-28 10:36:30,050 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-28 10:36:30,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {29748#true} call ULTIMATE.init(); {29748#true} is VALID [2022-04-28 10:36:30,050 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-28 10:36:30,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [711881762] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:30,050 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:30,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 27, 27] total 74 [2022-04-28 10:36:30,050 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:30,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1998154029] [2022-04-28 10:36:30,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1998154029] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:30,051 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:30,051 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-28 10:36:30,051 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1568429628] [2022-04-28 10:36:30,051 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:30,051 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-28 10:36:30,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:30,051 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-28 10:36:30,098 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-28 10:36:30,098 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-28 10:36:30,098 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:30,098 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-28 10:36:30,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=901, Invalid=4501, Unknown=0, NotChecked=0, Total=5402 [2022-04-28 10:36:30,099 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-28 10:36:32,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:32,006 INFO L93 Difference]: Finished difference Result 89 states and 92 transitions. [2022-04-28 10:36:32,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 10:36:32,006 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-28 10:36:32,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:32,006 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-28 10:36:32,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 84 transitions. [2022-04-28 10:36:32,007 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-28 10:36:32,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 84 transitions. [2022-04-28 10:36:32,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 84 transitions. [2022-04-28 10:36:32,085 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:32,086 INFO L225 Difference]: With dead ends: 89 [2022-04-28 10:36:32,086 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 10:36:32,087 INFO L412 NwaCegarLoop]: 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-28 10:36:32,087 INFO L413 NwaCegarLoop]: 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-28 10:36:32,087 INFO L414 NwaCegarLoop]: 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-28 10:36:32,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 10:36:32,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 78. [2022-04-28 10:36:32,606 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:32,606 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-28 10:36:32,606 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-28 10:36:32,606 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-28 10:36:32,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:32,607 INFO L93 Difference]: Finished difference Result 79 states and 82 transitions. [2022-04-28 10:36:32,607 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 82 transitions. [2022-04-28 10:36:32,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:32,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:32,607 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-28 10:36:32,608 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-28 10:36:32,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:32,608 INFO L93 Difference]: Finished difference Result 79 states and 82 transitions. [2022-04-28 10:36:32,608 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 82 transitions. [2022-04-28 10:36:32,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:32,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:32,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:32,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:32,608 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-28 10:36:32,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 81 transitions. [2022-04-28 10:36:32,609 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 81 transitions. Word has length 67 [2022-04-28 10:36:32,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:32,609 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 81 transitions. [2022-04-28 10:36:32,610 INFO L496 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-28 10:36:32,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 81 transitions. [2022-04-28 10:36:32,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:32,738 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 81 transitions. [2022-04-28 10:36:32,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 10:36:32,739 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:32,739 INFO L195 NwaCegarLoop]: 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-28 10:36:32,758 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Forceful destruction successful, exit code 0 [2022-04-28 10:36:32,939 WARN L477 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-28 10:36:32,939 INFO L420 AbstractCegarLoop]: === Iteration 41 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:32,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:32,940 INFO L85 PathProgramCache]: Analyzing trace with hash -193036489, now seen corresponding path program 35 times [2022-04-28 10:36:32,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:32,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1202412106] [2022-04-28 10:36:32,943 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:32,943 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:32,943 INFO L85 PathProgramCache]: Analyzing trace with hash -193036489, now seen corresponding path program 36 times [2022-04-28 10:36:32,944 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:32,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1023732466] [2022-04-28 10:36:32,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:32,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:32,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:32,984 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:32,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:32,987 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-28 10:36:32,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {30820#true} assume true; {30820#true} is VALID [2022-04-28 10:36:32,987 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {30820#true} {30820#true} #93#return; {30820#true} is VALID [2022-04-28 10:36:32,987 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:32,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:33,161 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-28 10:36:33,162 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-28 10:36:33,162 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-28 10:36:33,162 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-28 10:36:33,163 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-28 10:36:33,163 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-28 10:36:33,163 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-28 10:36:33,164 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-28 10:36:33,164 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-28 10:36:33,165 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-28 10:36:33,165 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-28 10:36:33,165 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-28 10:36:33,166 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-28 10:36:33,166 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-28 10:36:33,166 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-28 10:36:33,167 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-28 10:36:33,167 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-28 10:36:33,167 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-28 10:36:33,168 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-28 10:36:33,168 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-28 10:36:33,169 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-28 10:36:33,169 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-28 10:36:33,169 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-28 10:36:33,170 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-28 10:36:33,170 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-28 10:36:33,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {30894#(<= |correct_version_#in~w| 19)} assume true; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-28 10:36:33,171 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-28 10:36:33,171 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 10:36:33,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:33,347 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-28 10:36:33,347 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-28 10:36:33,348 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-28 10:36:33,348 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-28 10:36:33,348 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-28 10:36:33,349 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-28 10:36:33,349 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-28 10:36:33,349 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-28 10:36:33,350 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-28 10:36:33,350 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-28 10:36:33,350 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-28 10:36:33,351 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-28 10:36:33,351 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-28 10:36:33,352 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-28 10:36:33,352 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-28 10:36:33,352 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-28 10:36:33,353 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-28 10:36:33,353 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-28 10:36:33,353 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-28 10:36:33,354 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-28 10:36:33,354 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-28 10:36:33,354 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-28 10:36:33,355 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-28 10:36:33,355 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-28 10:36:33,355 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-28 10:36:33,355 INFO L290 TraceCheckUtils]: 25: Hoare triple {30907#(<= 20 |student_version_#in~w|)} assume true; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-28 10:36:33,356 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-28 10:36:33,357 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-28 10:36:33,357 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-28 10:36:33,357 INFO L290 TraceCheckUtils]: 2: Hoare triple {30820#true} assume true; {30820#true} is VALID [2022-04-28 10:36:33,357 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30820#true} {30820#true} #93#return; {30820#true} is VALID [2022-04-28 10:36:33,357 INFO L272 TraceCheckUtils]: 4: Hoare triple {30820#true} call #t~ret7 := main(); {30820#true} is VALID [2022-04-28 10:36:33,357 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-28 10:36:33,357 INFO L290 TraceCheckUtils]: 6: Hoare triple {30820#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {30820#true} is VALID [2022-04-28 10:36:33,357 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-28 10:36:33,357 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-28 10:36:33,358 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-28 10:36:33,358 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-28 10:36:33,358 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-28 10:36:33,359 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-28 10:36:33,359 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-28 10:36:33,359 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-28 10:36:33,360 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-28 10:36:33,360 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-28 10:36:33,360 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-28 10:36:33,361 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-28 10:36:33,361 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-28 10:36:33,361 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-28 10:36:33,362 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-28 10:36:33,362 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-28 10:36:33,362 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-28 10:36:33,363 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-28 10:36:33,363 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-28 10:36:33,363 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-28 10:36:33,364 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-28 10:36:33,364 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-28 10:36:33,365 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-28 10:36:33,365 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-28 10:36:33,365 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-28 10:36:33,366 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-28 10:36:33,366 INFO L290 TraceCheckUtils]: 33: Hoare triple {30894#(<= |correct_version_#in~w| 19)} assume true; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-28 10:36:33,366 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-28 10:36:33,367 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-28 10:36:33,367 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-28 10:36:33,367 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-28 10:36:33,367 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-28 10:36:33,368 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-28 10:36:33,368 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-28 10:36:33,368 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-28 10:36:33,369 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-28 10:36:33,369 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-28 10:36:33,370 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-28 10:36:33,370 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-28 10:36:33,370 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-28 10:36:33,371 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-28 10:36:33,371 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-28 10:36:33,371 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-28 10:36:33,372 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-28 10:36:33,372 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-28 10:36:33,372 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-28 10:36:33,373 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-28 10:36:33,373 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-28 10:36:33,373 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-28 10:36:33,374 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-28 10:36:33,374 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-28 10:36:33,374 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-28 10:36:33,375 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-28 10:36:33,375 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-28 10:36:33,375 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-28 10:36:33,375 INFO L290 TraceCheckUtils]: 62: Hoare triple {30907#(<= 20 |student_version_#in~w|)} assume true; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-28 10:36:33,376 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-28 10:36:33,376 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-28 10:36:33,376 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-28 10:36:33,376 INFO L290 TraceCheckUtils]: 66: Hoare triple {30821#false} ~cond := #in~cond; {30821#false} is VALID [2022-04-28 10:36:33,376 INFO L290 TraceCheckUtils]: 67: Hoare triple {30821#false} assume 0 == ~cond; {30821#false} is VALID [2022-04-28 10:36:33,376 INFO L290 TraceCheckUtils]: 68: Hoare triple {30821#false} assume !false; {30821#false} is VALID [2022-04-28 10:36:33,377 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-28 10:36:33,377 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:33,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1023732466] [2022-04-28 10:36:33,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1023732466] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:33,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [760171345] [2022-04-28 10:36:33,377 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:36:33,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:33,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:33,378 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:33,378 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2022-04-28 10:36:33,465 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-28 10:36:33,465 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:33,466 INFO L263 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 10:36:33,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:33,482 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:34,485 INFO L272 TraceCheckUtils]: 0: Hoare triple {30820#true} call ULTIMATE.init(); {30820#true} is VALID [2022-04-28 10:36:34,485 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-28 10:36:34,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {30820#true} assume true; {30820#true} is VALID [2022-04-28 10:36:34,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30820#true} {30820#true} #93#return; {30820#true} is VALID [2022-04-28 10:36:34,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {30820#true} call #t~ret7 := main(); {30820#true} is VALID [2022-04-28 10:36:34,486 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-28 10:36:34,486 INFO L290 TraceCheckUtils]: 6: Hoare triple {30820#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {30820#true} is VALID [2022-04-28 10:36:34,486 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-28 10:36:34,486 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-28 10:36:34,486 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-28 10:36:34,487 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-28 10:36:34,487 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-28 10:36:34,488 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-28 10:36:34,488 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-28 10:36:34,488 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-28 10:36:34,489 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-28 10:36:34,489 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-28 10:36:34,489 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-28 10:36:34,490 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-28 10:36:34,490 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-28 10:36:34,490 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-28 10:36:34,491 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-28 10:36:34,491 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-28 10:36:34,492 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-28 10:36:34,492 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-28 10:36:34,492 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-28 10:36:34,493 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-28 10:36:34,493 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-28 10:36:34,493 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-28 10:36:34,494 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-28 10:36:34,494 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-28 10:36:34,494 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-28 10:36:34,495 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-28 10:36:34,495 INFO L290 TraceCheckUtils]: 33: Hoare triple {30894#(<= |correct_version_#in~w| 19)} assume true; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-28 10:36:34,496 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-28 10:36:34,496 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-28 10:36:34,497 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-28 10:36:34,497 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-28 10:36:34,497 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-28 10:36:34,498 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-28 10:36:34,498 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-28 10:36:34,498 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-28 10:36:34,499 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-28 10:36:34,499 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-28 10:36:34,499 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-28 10:36:34,500 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-28 10:36:34,500 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-28 10:36:34,500 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-28 10:36:34,501 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-28 10:36:34,501 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-28 10:36:34,502 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-28 10:36:34,502 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-28 10:36:34,502 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-28 10:36:34,503 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-28 10:36:34,503 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-28 10:36:34,503 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-28 10:36:34,504 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-28 10:36:34,504 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-28 10:36:34,504 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-28 10:36:34,505 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-28 10:36:34,505 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-28 10:36:34,505 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-28 10:36:34,506 INFO L290 TraceCheckUtils]: 62: Hoare triple {30907#(<= 20 |student_version_#in~w|)} assume true; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-28 10:36:34,506 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-28 10:36:34,506 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-28 10:36:34,506 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-28 10:36:34,506 INFO L290 TraceCheckUtils]: 66: Hoare triple {30821#false} ~cond := #in~cond; {30821#false} is VALID [2022-04-28 10:36:34,507 INFO L290 TraceCheckUtils]: 67: Hoare triple {30821#false} assume 0 == ~cond; {30821#false} is VALID [2022-04-28 10:36:34,507 INFO L290 TraceCheckUtils]: 68: Hoare triple {30821#false} assume !false; {30821#false} is VALID [2022-04-28 10:36:34,507 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-28 10:36:34,507 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:41,627 INFO L290 TraceCheckUtils]: 68: Hoare triple {30821#false} assume !false; {30821#false} is VALID [2022-04-28 10:36:41,627 INFO L290 TraceCheckUtils]: 67: Hoare triple {30821#false} assume 0 == ~cond; {30821#false} is VALID [2022-04-28 10:36:41,627 INFO L290 TraceCheckUtils]: 66: Hoare triple {30821#false} ~cond := #in~cond; {30821#false} is VALID [2022-04-28 10:36:41,627 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-28 10:36:41,627 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-28 10:36:41,628 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-28 10:36:41,628 INFO L290 TraceCheckUtils]: 62: Hoare triple {30907#(<= 20 |student_version_#in~w|)} assume true; {30907#(<= 20 |student_version_#in~w|)} is VALID [2022-04-28 10:36:41,628 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-28 10:36:41,629 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-28 10:36:41,629 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-28 10:36:41,629 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-28 10:36:41,630 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-28 10:36:41,630 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-28 10:36:41,630 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-28 10:36:41,631 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-28 10:36:41,631 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-28 10:36:41,631 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-28 10:36:41,632 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-28 10:36:41,632 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-28 10:36:41,632 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-28 10:36:41,633 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-28 10:36:41,633 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-28 10:36:41,633 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-28 10:36:41,634 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-28 10:36:41,634 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-28 10:36:41,635 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-28 10:36:41,635 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-28 10:36:41,635 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-28 10:36:41,636 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-28 10:36:41,636 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-28 10:36:41,636 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-28 10:36:41,637 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-28 10:36:41,637 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-28 10:36:41,637 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-28 10:36:41,638 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-28 10:36:41,638 INFO L290 TraceCheckUtils]: 33: Hoare triple {30894#(<= |correct_version_#in~w| 19)} assume true; {30894#(<= |correct_version_#in~w| 19)} is VALID [2022-04-28 10:36:41,638 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-28 10:36:41,638 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-28 10:36:41,639 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-28 10:36:41,639 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-28 10:36:41,640 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-28 10:36:41,640 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-28 10:36:41,640 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-28 10:36:41,641 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-28 10:36:41,641 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-28 10:36:41,641 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-28 10:36:41,642 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-28 10:36:41,642 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-28 10:36:41,642 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-28 10:36:41,643 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-28 10:36:41,643 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-28 10:36:41,643 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-28 10:36:41,644 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-28 10:36:41,644 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-28 10:36:41,644 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-28 10:36:41,645 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-28 10:36:41,645 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-28 10:36:41,646 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-28 10:36:41,646 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-28 10:36:41,646 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-28 10:36:41,647 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-28 10:36:41,647 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-28 10:36:41,647 INFO L290 TraceCheckUtils]: 6: Hoare triple {30820#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {30820#true} is VALID [2022-04-28 10:36:41,647 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-28 10:36:41,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {30820#true} call #t~ret7 := main(); {30820#true} is VALID [2022-04-28 10:36:41,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {30820#true} {30820#true} #93#return; {30820#true} is VALID [2022-04-28 10:36:41,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {30820#true} assume true; {30820#true} is VALID [2022-04-28 10:36:41,647 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-28 10:36:41,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {30820#true} call ULTIMATE.init(); {30820#true} is VALID [2022-04-28 10:36:41,647 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-28 10:36:41,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [760171345] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:41,647 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:41,647 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 81 [2022-04-28 10:36:41,648 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:41,648 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1202412106] [2022-04-28 10:36:41,648 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1202412106] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:41,648 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:41,648 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 10:36:41,648 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1356413760] [2022-04-28 10:36:41,648 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:41,648 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-28 10:36:41,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:41,648 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-28 10:36:41,690 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:41,690 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 10:36:41,690 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:41,690 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 10:36:41,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1037, Invalid=5443, Unknown=0, NotChecked=0, Total=6480 [2022-04-28 10:36:41,691 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-28 10:36:43,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:43,684 INFO L93 Difference]: Finished difference Result 98 states and 105 transitions. [2022-04-28 10:36:43,684 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-28 10:36:43,684 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-28 10:36:43,684 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:43,684 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-28 10:36:43,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 100 transitions. [2022-04-28 10:36:43,685 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-28 10:36:43,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 100 transitions. [2022-04-28 10:36:43,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 100 transitions. [2022-04-28 10:36:43,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:43,768 INFO L225 Difference]: With dead ends: 98 [2022-04-28 10:36:43,768 INFO L226 Difference]: Without dead ends: 87 [2022-04-28 10:36:43,770 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 87 SyntacticMatches, 5 SemanticMatches, 107 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5095 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=1802, Invalid=9970, Unknown=0, NotChecked=0, Total=11772 [2022-04-28 10:36:43,770 INFO L413 NwaCegarLoop]: 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-28 10:36:43,770 INFO L414 NwaCegarLoop]: 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-28 10:36:43,770 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-28 10:36:44,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 81. [2022-04-28 10:36:44,337 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:44,337 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-28 10:36:44,337 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-28 10:36:44,337 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-28 10:36:44,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:44,338 INFO L93 Difference]: Finished difference Result 87 states and 93 transitions. [2022-04-28 10:36:44,338 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 93 transitions. [2022-04-28 10:36:44,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:44,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:44,338 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-28 10:36:44,339 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-28 10:36:44,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:44,339 INFO L93 Difference]: Finished difference Result 87 states and 93 transitions. [2022-04-28 10:36:44,339 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 93 transitions. [2022-04-28 10:36:44,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:44,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:44,339 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:44,339 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:44,340 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-28 10:36:44,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 85 transitions. [2022-04-28 10:36:44,340 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 85 transitions. Word has length 69 [2022-04-28 10:36:44,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:44,340 INFO L495 AbstractCegarLoop]: Abstraction has 81 states and 85 transitions. [2022-04-28 10:36:44,340 INFO L496 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-28 10:36:44,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 85 transitions. [2022-04-28 10:36:44,491 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-28 10:36:44,491 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 85 transitions. [2022-04-28 10:36:44,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 10:36:44,492 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:44,492 INFO L195 NwaCegarLoop]: 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-28 10:36:44,511 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Forceful destruction successful, exit code 0 [2022-04-28 10:36:44,692 WARN L477 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-28 10:36:44,692 INFO L420 AbstractCegarLoop]: === Iteration 42 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:44,693 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:44,693 INFO L85 PathProgramCache]: Analyzing trace with hash -1902454157, now seen corresponding path program 35 times [2022-04-28 10:36:44,693 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:44,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [388849056] [2022-04-28 10:36:44,695 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:44,695 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:44,695 INFO L85 PathProgramCache]: Analyzing trace with hash -1902454157, now seen corresponding path program 36 times [2022-04-28 10:36:44,695 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:44,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1035917844] [2022-04-28 10:36:44,695 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:44,695 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:44,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:44,729 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:44,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:44,731 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-28 10:36:44,731 INFO L290 TraceCheckUtils]: 1: Hoare triple {31959#true} assume true; {31959#true} is VALID [2022-04-28 10:36:44,731 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31959#true} {31959#true} #93#return; {31959#true} is VALID [2022-04-28 10:36:44,732 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:44,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:44,886 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-28 10:36:44,887 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-28 10:36:44,887 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-28 10:36:44,887 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-28 10:36:44,888 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-28 10:36:44,888 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-28 10:36:44,889 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-28 10:36:44,889 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-28 10:36:44,889 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-28 10:36:44,890 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-28 10:36:44,890 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-28 10:36:44,890 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-28 10:36:44,891 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-28 10:36:44,891 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-28 10:36:44,892 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-28 10:36:44,892 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-28 10:36:44,892 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-28 10:36:44,893 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-28 10:36:44,893 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-28 10:36:44,894 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-28 10:36:44,894 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-28 10:36:44,894 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-28 10:36:44,895 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-28 10:36:44,895 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-28 10:36:44,895 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-28 10:36:44,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} assume true; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:44,896 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-28 10:36:44,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 10:36:44,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:45,148 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-28 10:36:45,149 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-28 10:36:45,149 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-28 10:36:45,149 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-28 10:36:45,150 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-28 10:36:45,150 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-28 10:36:45,151 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-28 10:36:45,151 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-28 10:36:45,151 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-28 10:36:45,152 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-28 10:36:45,152 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-28 10:36:45,152 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-28 10:36:45,153 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-28 10:36:45,153 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-28 10:36:45,153 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-28 10:36:45,154 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-28 10:36:45,154 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-28 10:36:45,155 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-28 10:36:45,155 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-28 10:36:45,155 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-28 10:36:45,156 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-28 10:36:45,156 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-28 10:36:45,157 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-28 10:36:45,157 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-28 10:36:45,157 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-28 10:36:45,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {32046#(<= |student_version_#in~w| 19)} assume true; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-28 10:36:45,158 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-28 10:36:45,159 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-28 10:36:45,159 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-28 10:36:45,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {31959#true} assume true; {31959#true} is VALID [2022-04-28 10:36:45,159 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31959#true} {31959#true} #93#return; {31959#true} is VALID [2022-04-28 10:36:45,159 INFO L272 TraceCheckUtils]: 4: Hoare triple {31959#true} call #t~ret7 := main(); {31959#true} is VALID [2022-04-28 10:36:45,159 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-28 10:36:45,159 INFO L290 TraceCheckUtils]: 6: Hoare triple {31959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {31959#true} is VALID [2022-04-28 10:36:45,159 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-28 10:36:45,159 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-28 10:36:45,160 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-28 10:36:45,160 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-28 10:36:45,160 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-28 10:36:45,161 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-28 10:36:45,161 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-28 10:36:45,162 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-28 10:36:45,162 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-28 10:36:45,162 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-28 10:36:45,163 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-28 10:36:45,163 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-28 10:36:45,163 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-28 10:36:45,164 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-28 10:36:45,164 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-28 10:36:45,164 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-28 10:36:45,165 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-28 10:36:45,165 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-28 10:36:45,166 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-28 10:36:45,166 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-28 10:36:45,166 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-28 10:36:45,167 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-28 10:36:45,167 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-28 10:36:45,167 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-28 10:36:45,168 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-28 10:36:45,168 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-28 10:36:45,168 INFO L290 TraceCheckUtils]: 33: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} assume true; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:45,169 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-28 10:36:45,169 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-28 10:36:45,170 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-28 10:36:45,170 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-28 10:36:45,170 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-28 10:36:45,170 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-28 10:36:45,171 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-28 10:36:45,171 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-28 10:36:45,172 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-28 10:36:45,172 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-28 10:36:45,172 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-28 10:36:45,173 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-28 10:36:45,173 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-28 10:36:45,173 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-28 10:36:45,174 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-28 10:36:45,174 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-28 10:36:45,174 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-28 10:36:45,175 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-28 10:36:45,175 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-28 10:36:45,176 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-28 10:36:45,176 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-28 10:36:45,176 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-28 10:36:45,177 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-28 10:36:45,177 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-28 10:36:45,177 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-28 10:36:45,178 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-28 10:36:45,178 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-28 10:36:45,179 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-28 10:36:45,179 INFO L290 TraceCheckUtils]: 62: Hoare triple {32046#(<= |student_version_#in~w| 19)} assume true; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-28 10:36:45,179 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-28 10:36:45,180 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-28 10:36:45,180 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-28 10:36:45,180 INFO L290 TraceCheckUtils]: 66: Hoare triple {31960#false} ~cond := #in~cond; {31960#false} is VALID [2022-04-28 10:36:45,180 INFO L290 TraceCheckUtils]: 67: Hoare triple {31960#false} assume 0 == ~cond; {31960#false} is VALID [2022-04-28 10:36:45,180 INFO L290 TraceCheckUtils]: 68: Hoare triple {31960#false} assume !false; {31960#false} is VALID [2022-04-28 10:36:45,180 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-28 10:36:45,180 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:45,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1035917844] [2022-04-28 10:36:45,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1035917844] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:45,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [364518221] [2022-04-28 10:36:45,180 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:36:45,180 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:45,180 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:45,181 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:45,182 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Waiting until timeout for monitored process [2022-04-28 10:36:45,278 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-28 10:36:45,278 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:45,279 INFO L263 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 10:36:45,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:45,294 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:46,523 INFO L272 TraceCheckUtils]: 0: Hoare triple {31959#true} call ULTIMATE.init(); {31959#true} is VALID [2022-04-28 10:36:46,523 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-28 10:36:46,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {31959#true} assume true; {31959#true} is VALID [2022-04-28 10:36:46,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31959#true} {31959#true} #93#return; {31959#true} is VALID [2022-04-28 10:36:46,524 INFO L272 TraceCheckUtils]: 4: Hoare triple {31959#true} call #t~ret7 := main(); {31959#true} is VALID [2022-04-28 10:36:46,524 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-28 10:36:46,524 INFO L290 TraceCheckUtils]: 6: Hoare triple {31959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {31959#true} is VALID [2022-04-28 10:36:46,524 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-28 10:36:46,524 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-28 10:36:46,524 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-28 10:36:46,525 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-28 10:36:46,525 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-28 10:36:46,526 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-28 10:36:46,526 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-28 10:36:46,526 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-28 10:36:46,527 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-28 10:36:46,527 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-28 10:36:46,527 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-28 10:36:46,528 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-28 10:36:46,528 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-28 10:36:46,528 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-28 10:36:46,529 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-28 10:36:46,529 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-28 10:36:46,529 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-28 10:36:46,530 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-28 10:36:46,530 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-28 10:36:46,530 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-28 10:36:46,531 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-28 10:36:46,531 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-28 10:36:46,532 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-28 10:36:46,532 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-28 10:36:46,532 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-28 10:36:46,532 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-28 10:36:46,533 INFO L290 TraceCheckUtils]: 33: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} assume true; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:46,533 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-28 10:36:46,534 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-28 10:36:46,534 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-28 10:36:46,534 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-28 10:36:46,535 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-28 10:36:46,535 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-28 10:36:46,535 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-28 10:36:46,536 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-28 10:36:46,536 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-28 10:36:46,536 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-28 10:36:46,537 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-28 10:36:46,537 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-28 10:36:46,537 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-28 10:36:46,538 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-28 10:36:46,538 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-28 10:36:46,538 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-28 10:36:46,539 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-28 10:36:46,539 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-28 10:36:46,539 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-28 10:36:46,540 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-28 10:36:46,540 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-28 10:36:46,541 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-28 10:36:46,541 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-28 10:36:46,541 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-28 10:36:46,542 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-28 10:36:46,542 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-28 10:36:46,542 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-28 10:36:46,543 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-28 10:36:46,543 INFO L290 TraceCheckUtils]: 62: Hoare triple {32046#(<= |student_version_#in~w| 19)} assume true; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-28 10:36:46,543 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-28 10:36:46,544 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-28 10:36:46,544 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-28 10:36:46,544 INFO L290 TraceCheckUtils]: 66: Hoare triple {31960#false} ~cond := #in~cond; {31960#false} is VALID [2022-04-28 10:36:46,544 INFO L290 TraceCheckUtils]: 67: Hoare triple {31960#false} assume 0 == ~cond; {31960#false} is VALID [2022-04-28 10:36:46,544 INFO L290 TraceCheckUtils]: 68: Hoare triple {31960#false} assume !false; {31960#false} is VALID [2022-04-28 10:36:46,544 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-28 10:36:46,544 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:36:53,869 INFO L290 TraceCheckUtils]: 68: Hoare triple {31960#false} assume !false; {31960#false} is VALID [2022-04-28 10:36:53,870 INFO L290 TraceCheckUtils]: 67: Hoare triple {31960#false} assume 0 == ~cond; {31960#false} is VALID [2022-04-28 10:36:53,870 INFO L290 TraceCheckUtils]: 66: Hoare triple {31960#false} ~cond := #in~cond; {31960#false} is VALID [2022-04-28 10:36:53,870 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-28 10:36:53,870 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-28 10:36:53,871 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-28 10:36:53,871 INFO L290 TraceCheckUtils]: 62: Hoare triple {32046#(<= |student_version_#in~w| 19)} assume true; {32046#(<= |student_version_#in~w| 19)} is VALID [2022-04-28 10:36:53,871 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-28 10:36:53,872 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-28 10:36:53,872 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-28 10:36:53,873 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-28 10:36:53,873 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-28 10:36:53,873 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-28 10:36:53,874 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-28 10:36:53,874 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-28 10:36:53,874 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-28 10:36:53,875 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-28 10:36:53,875 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-28 10:36:53,876 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-28 10:36:53,876 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-28 10:36:53,877 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-28 10:36:53,877 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-28 10:36:53,877 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-28 10:36:53,878 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-28 10:36:53,878 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-28 10:36:53,878 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-28 10:36:53,879 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-28 10:36:53,879 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-28 10:36:53,880 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-28 10:36:53,880 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-28 10:36:53,880 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-28 10:36:53,881 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-28 10:36:53,881 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-28 10:36:53,881 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-28 10:36:53,882 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-28 10:36:53,883 INFO L290 TraceCheckUtils]: 33: Hoare triple {32032#(<= 20 |correct_version_#in~w|)} assume true; {32032#(<= 20 |correct_version_#in~w|)} is VALID [2022-04-28 10:36:53,883 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-28 10:36:53,883 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-28 10:36:53,884 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-28 10:36:53,884 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-28 10:36:53,884 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-28 10:36:53,885 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-28 10:36:53,885 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-28 10:36:53,886 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-28 10:36:53,886 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-28 10:36:53,886 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-28 10:36:53,887 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-28 10:36:53,887 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-28 10:36:53,888 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-28 10:36:53,888 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-28 10:36:53,888 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-28 10:36:53,889 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-28 10:36:53,889 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-28 10:36:53,890 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-28 10:36:53,890 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-28 10:36:53,890 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-28 10:36:53,891 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-28 10:36:53,891 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-28 10:36:53,892 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-28 10:36:53,892 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-28 10:36:53,892 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-28 10:36:53,892 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-28 10:36:53,893 INFO L290 TraceCheckUtils]: 6: Hoare triple {31959#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {31959#true} is VALID [2022-04-28 10:36:53,893 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-28 10:36:53,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {31959#true} call #t~ret7 := main(); {31959#true} is VALID [2022-04-28 10:36:53,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31959#true} {31959#true} #93#return; {31959#true} is VALID [2022-04-28 10:36:53,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {31959#true} assume true; {31959#true} is VALID [2022-04-28 10:36:53,893 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-28 10:36:53,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {31959#true} call ULTIMATE.init(); {31959#true} is VALID [2022-04-28 10:36:53,893 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-28 10:36:53,893 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [364518221] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:36:53,893 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:36:53,893 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [31, 30, 30] total 81 [2022-04-28 10:36:53,893 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:36:53,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [388849056] [2022-04-28 10:36:53,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [388849056] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:36:53,894 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:36:53,894 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 10:36:53,894 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [972938308] [2022-04-28 10:36:53,894 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:36:53,894 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-28 10:36:53,894 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:36:53,894 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-28 10:36:53,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:53,941 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 10:36:53,941 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:53,942 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 10:36:53,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1037, Invalid=5443, Unknown=0, NotChecked=0, Total=6480 [2022-04-28 10:36:53,943 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-28 10:36:55,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:55,897 INFO L93 Difference]: Finished difference Result 93 states and 98 transitions. [2022-04-28 10:36:55,897 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-28 10:36:55,897 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-28 10:36:55,897 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:36:55,897 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-28 10:36:55,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 93 transitions. [2022-04-28 10:36:55,898 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-28 10:36:55,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 93 transitions. [2022-04-28 10:36:55,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 93 transitions. [2022-04-28 10:36:55,975 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-28 10:36:55,976 INFO L225 Difference]: With dead ends: 93 [2022-04-28 10:36:55,976 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 10:36:55,977 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 87 SyntacticMatches, 5 SemanticMatches, 107 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5106 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=1802, Invalid=9970, Unknown=0, NotChecked=0, Total=11772 [2022-04-28 10:36:55,979 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 104 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 426 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:36:55,979 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [105 Valid, 60 Invalid, 462 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 426 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 10:36:55,980 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 10:36:56,604 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-28 10:36:56,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:36:56,605 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-28 10:36:56,605 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-28 10:36:56,605 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-28 10:36:56,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:56,606 INFO L93 Difference]: Finished difference Result 84 states and 89 transitions. [2022-04-28 10:36:56,606 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 89 transitions. [2022-04-28 10:36:56,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:56,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:56,606 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-28 10:36:56,606 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-28 10:36:56,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:36:56,607 INFO L93 Difference]: Finished difference Result 84 states and 89 transitions. [2022-04-28 10:36:56,607 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 89 transitions. [2022-04-28 10:36:56,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:36:56,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:36:56,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:36:56,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:36:56,607 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-28 10:36:56,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 89 transitions. [2022-04-28 10:36:56,608 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 89 transitions. Word has length 69 [2022-04-28 10:36:56,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:36:56,608 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 89 transitions. [2022-04-28 10:36:56,608 INFO L496 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-28 10:36:56,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 89 transitions. [2022-04-28 10:36:56,760 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:36:56,760 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 89 transitions. [2022-04-28 10:36:56,761 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 10:36:56,761 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:36:56,761 INFO L195 NwaCegarLoop]: 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-28 10:36:56,779 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Forceful destruction successful, exit code 0 [2022-04-28 10:36:56,961 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 39 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable41 [2022-04-28 10:36:56,961 INFO L420 AbstractCegarLoop]: === Iteration 43 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:36:56,961 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:36:56,961 INFO L85 PathProgramCache]: Analyzing trace with hash -329597835, now seen corresponding path program 37 times [2022-04-28 10:36:56,962 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:36:56,962 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [229937141] [2022-04-28 10:36:56,964 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:36:56,964 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:36:56,964 INFO L85 PathProgramCache]: Analyzing trace with hash -329597835, now seen corresponding path program 38 times [2022-04-28 10:36:56,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:36:56,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [391537661] [2022-04-28 10:36:56,964 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:36:56,964 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:36:56,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:57,004 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:36:57,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:57,007 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-28 10:36:57,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {33088#true} assume true; {33088#true} is VALID [2022-04-28 10:36:57,007 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33088#true} {33088#true} #93#return; {33088#true} is VALID [2022-04-28 10:36:57,007 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:36:57,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:57,174 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-28 10:36:57,174 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-28 10:36:57,174 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-28 10:36:57,175 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-28 10:36:57,175 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-28 10:36:57,176 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-28 10:36:57,176 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-28 10:36:57,176 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-28 10:36:57,177 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-28 10:36:57,177 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-28 10:36:57,177 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-28 10:36:57,178 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-28 10:36:57,178 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-28 10:36:57,179 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-28 10:36:57,179 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-28 10:36:57,179 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-28 10:36:57,180 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-28 10:36:57,180 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-28 10:36:57,180 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-28 10:36:57,181 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-28 10:36:57,181 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-28 10:36:57,181 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-28 10:36:57,182 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-28 10:36:57,182 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-28 10:36:57,182 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-28 10:36:57,183 INFO L290 TraceCheckUtils]: 25: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume true; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-28 10:36:57,183 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-28 10:36:57,183 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 10:36:57,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:57,379 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-28 10:36:57,380 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-28 10:36:57,380 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-28 10:36:57,380 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-28 10:36:57,381 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-28 10:36:57,381 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-28 10:36:57,381 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-28 10:36:57,382 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-28 10:36:57,382 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-28 10:36:57,382 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-28 10:36:57,383 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-28 10:36:57,383 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-28 10:36:57,383 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-28 10:36:57,384 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-28 10:36:57,384 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-28 10:36:57,391 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-28 10:36:57,392 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-28 10:36:57,392 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-28 10:36:57,393 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-28 10:36:57,393 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-28 10:36:57,393 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-28 10:36:57,394 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-28 10:36:57,394 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-28 10:36:57,395 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-28 10:36:57,395 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-28 10:36:57,396 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-28 10:36:57,396 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-28 10:36:57,396 INFO L290 TraceCheckUtils]: 27: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume true; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-28 10:36:57,397 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-28 10:36:57,398 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-28 10:36:57,398 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-28 10:36:57,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {33088#true} assume true; {33088#true} is VALID [2022-04-28 10:36:57,398 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33088#true} {33088#true} #93#return; {33088#true} is VALID [2022-04-28 10:36:57,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {33088#true} call #t~ret7 := main(); {33088#true} is VALID [2022-04-28 10:36:57,398 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-28 10:36:57,398 INFO L290 TraceCheckUtils]: 6: Hoare triple {33088#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {33088#true} is VALID [2022-04-28 10:36:57,398 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-28 10:36:57,398 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-28 10:36:57,399 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-28 10:36:57,399 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-28 10:36:57,400 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-28 10:36:57,400 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-28 10:36:57,400 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-28 10:36:57,401 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-28 10:36:57,401 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-28 10:36:57,402 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-28 10:36:57,402 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-28 10:36:57,402 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-28 10:36:57,403 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-28 10:36:57,403 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-28 10:36:57,404 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-28 10:36:57,404 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-28 10:36:57,405 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-28 10:36:57,405 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-28 10:36:57,405 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-28 10:36:57,406 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-28 10:36:57,406 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-28 10:36:57,407 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-28 10:36:57,407 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-28 10:36:57,408 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-28 10:36:57,408 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-28 10:36:57,408 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-28 10:36:57,409 INFO L290 TraceCheckUtils]: 33: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume true; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-28 10:36:57,409 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-28 10:36:57,410 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-28 10:36:57,410 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-28 10:36:57,410 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-28 10:36:57,411 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-28 10:36:57,411 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-28 10:36:57,412 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-28 10:36:57,412 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-28 10:36:57,412 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-28 10:36:57,413 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-28 10:36:57,413 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-28 10:36:57,414 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-28 10:36:57,414 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-28 10:36:57,414 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-28 10:36:57,415 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-28 10:36:57,415 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-28 10:36:57,416 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-28 10:36:57,416 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-28 10:36:57,417 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-28 10:36:57,417 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-28 10:36:57,417 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-28 10:36:57,418 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-28 10:36:57,418 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-28 10:36:57,419 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-28 10:36:57,419 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-28 10:36:57,419 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-28 10:36:57,420 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-28 10:36:57,420 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-28 10:36:57,421 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-28 10:36:57,421 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-28 10:36:57,421 INFO L290 TraceCheckUtils]: 64: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume true; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-28 10:36:57,422 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-28 10:36:57,422 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-28 10:36:57,422 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-28 10:36:57,422 INFO L290 TraceCheckUtils]: 68: Hoare triple {33089#false} ~cond := #in~cond; {33089#false} is VALID [2022-04-28 10:36:57,422 INFO L290 TraceCheckUtils]: 69: Hoare triple {33089#false} assume 0 == ~cond; {33089#false} is VALID [2022-04-28 10:36:57,422 INFO L290 TraceCheckUtils]: 70: Hoare triple {33089#false} assume !false; {33089#false} is VALID [2022-04-28 10:36:57,423 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-28 10:36:57,423 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:36:57,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [391537661] [2022-04-28 10:36:57,423 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [391537661] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:36:57,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [983380936] [2022-04-28 10:36:57,423 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:36:57,423 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:36:57,423 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:36:57,424 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:36:57,425 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2022-04-28 10:36:57,525 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:36:57,526 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:36:57,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 10:36:57,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:36:57,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:36:58,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {33088#true} call ULTIMATE.init(); {33088#true} is VALID [2022-04-28 10:36:58,673 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-28 10:36:58,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {33088#true} assume true; {33088#true} is VALID [2022-04-28 10:36:58,673 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33088#true} {33088#true} #93#return; {33088#true} is VALID [2022-04-28 10:36:58,673 INFO L272 TraceCheckUtils]: 4: Hoare triple {33088#true} call #t~ret7 := main(); {33088#true} is VALID [2022-04-28 10:36:58,673 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-28 10:36:58,673 INFO L290 TraceCheckUtils]: 6: Hoare triple {33088#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {33088#true} is VALID [2022-04-28 10:36:58,673 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-28 10:36:58,674 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-28 10:36:58,674 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-28 10:36:58,674 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-28 10:36:58,675 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-28 10:36:58,675 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-28 10:36:58,676 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-28 10:36:58,676 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-28 10:36:58,677 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-28 10:36:58,677 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-28 10:36:58,677 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-28 10:36:58,678 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-28 10:36:58,678 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-28 10:36:58,679 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-28 10:36:58,679 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-28 10:36:58,680 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-28 10:36:58,680 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-28 10:36:58,680 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-28 10:36:58,681 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-28 10:36:58,681 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-28 10:36:58,682 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-28 10:36:58,682 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-28 10:36:58,683 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-28 10:36:58,683 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-28 10:36:58,683 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-28 10:36:58,684 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-28 10:36:58,684 INFO L290 TraceCheckUtils]: 33: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume true; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-28 10:36:58,685 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-28 10:36:58,685 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-28 10:36:58,685 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-28 10:36:58,686 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-28 10:36:58,686 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-28 10:36:58,687 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-28 10:36:58,687 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-28 10:36:58,687 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-28 10:36:58,688 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-28 10:36:58,688 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-28 10:36:58,689 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-28 10:36:58,689 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-28 10:36:58,690 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-28 10:36:58,690 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-28 10:36:58,690 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-28 10:36:58,691 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-28 10:36:58,691 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-28 10:36:58,692 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-28 10:36:58,692 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-28 10:36:58,693 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-28 10:36:58,693 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-28 10:36:58,693 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-28 10:36:58,694 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-28 10:36:58,694 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-28 10:36:58,695 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-28 10:36:58,695 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-28 10:36:58,696 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-28 10:36:58,696 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-28 10:36:58,696 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-28 10:36:58,696 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-28 10:36:58,697 INFO L290 TraceCheckUtils]: 64: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume true; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-28 10:36:58,698 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-28 10:36:58,698 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-28 10:36:58,698 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-28 10:36:58,698 INFO L290 TraceCheckUtils]: 68: Hoare triple {33089#false} ~cond := #in~cond; {33089#false} is VALID [2022-04-28 10:36:58,698 INFO L290 TraceCheckUtils]: 69: Hoare triple {33089#false} assume 0 == ~cond; {33089#false} is VALID [2022-04-28 10:36:58,698 INFO L290 TraceCheckUtils]: 70: Hoare triple {33089#false} assume !false; {33089#false} is VALID [2022-04-28 10:36:58,698 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-28 10:36:58,699 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:03,415 INFO L290 TraceCheckUtils]: 70: Hoare triple {33089#false} assume !false; {33089#false} is VALID [2022-04-28 10:37:03,415 INFO L290 TraceCheckUtils]: 69: Hoare triple {33089#false} assume 0 == ~cond; {33089#false} is VALID [2022-04-28 10:37:03,415 INFO L290 TraceCheckUtils]: 68: Hoare triple {33089#false} ~cond := #in~cond; {33089#false} is VALID [2022-04-28 10:37:03,415 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-28 10:37:03,415 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-28 10:37:03,416 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-28 10:37:03,416 INFO L290 TraceCheckUtils]: 64: Hoare triple {33178#(<= 21 |student_version_#in~w|)} assume true; {33178#(<= 21 |student_version_#in~w|)} is VALID [2022-04-28 10:37:03,417 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-28 10:37:03,417 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-28 10:37:03,417 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-28 10:37:03,417 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-28 10:37:03,418 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-28 10:37:03,418 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-28 10:37:03,418 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-28 10:37:03,419 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-28 10:37:03,419 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-28 10:37:03,420 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-28 10:37:03,420 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-28 10:37:03,420 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-28 10:37:03,421 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-28 10:37:03,421 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-28 10:37:03,421 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-28 10:37:03,422 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-28 10:37:03,422 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-28 10:37:03,422 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-28 10:37:03,423 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-28 10:37:03,423 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-28 10:37:03,423 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-28 10:37:03,424 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-28 10:37:03,424 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-28 10:37:03,425 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-28 10:37:03,425 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-28 10:37:03,425 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-28 10:37:03,426 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-28 10:37:03,426 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-28 10:37:03,426 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-28 10:37:03,427 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-28 10:37:03,427 INFO L290 TraceCheckUtils]: 33: Hoare triple {33164#(<= |correct_version_#in~w| 20)} assume true; {33164#(<= |correct_version_#in~w| 20)} is VALID [2022-04-28 10:37:03,427 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-28 10:37:03,428 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-28 10:37:03,428 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-28 10:37:03,428 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-28 10:37:03,429 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-28 10:37:03,429 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-28 10:37:03,429 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-28 10:37:03,430 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-28 10:37:03,430 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-28 10:37:03,430 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-28 10:37:03,431 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-28 10:37:03,431 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-28 10:37:03,431 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-28 10:37:03,432 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-28 10:37:03,432 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-28 10:37:03,432 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-28 10:37:03,433 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-28 10:37:03,433 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-28 10:37:03,433 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-28 10:37:03,434 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-28 10:37:03,434 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-28 10:37:03,435 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-28 10:37:03,435 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-28 10:37:03,435 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-28 10:37:03,436 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-28 10:37:03,436 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-28 10:37:03,436 INFO L290 TraceCheckUtils]: 6: Hoare triple {33088#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {33088#true} is VALID [2022-04-28 10:37:03,436 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-28 10:37:03,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {33088#true} call #t~ret7 := main(); {33088#true} is VALID [2022-04-28 10:37:03,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33088#true} {33088#true} #93#return; {33088#true} is VALID [2022-04-28 10:37:03,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {33088#true} assume true; {33088#true} is VALID [2022-04-28 10:37:03,436 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-28 10:37:03,436 INFO L272 TraceCheckUtils]: 0: Hoare triple {33088#true} call ULTIMATE.init(); {33088#true} is VALID [2022-04-28 10:37:03,436 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-28 10:37:03,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [983380936] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:03,436 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:03,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 29, 29] total 80 [2022-04-28 10:37:03,437 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:03,437 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [229937141] [2022-04-28 10:37:03,437 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [229937141] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:03,437 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:03,437 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-28 10:37:03,437 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1683931052] [2022-04-28 10:37:03,437 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:03,437 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-28 10:37:03,437 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:03,437 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-28 10:37:03,480 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:03,480 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-28 10:37:03,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:03,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-28 10:37:03,481 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1053, Invalid=5267, Unknown=0, NotChecked=0, Total=6320 [2022-04-28 10:37:03,481 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-28 10:37:05,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:05,299 INFO L93 Difference]: Finished difference Result 99 states and 104 transitions. [2022-04-28 10:37:05,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 10:37:05,299 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-28 10:37:05,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:05,300 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-28 10:37:05,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 96 transitions. [2022-04-28 10:37:05,301 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-28 10:37:05,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 96 transitions. [2022-04-28 10:37:05,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 96 transitions. [2022-04-28 10:37:05,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:05,386 INFO L225 Difference]: With dead ends: 99 [2022-04-28 10:37:05,386 INFO L226 Difference]: Without dead ends: 87 [2022-04-28 10:37:05,387 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 93 SyntacticMatches, 5 SemanticMatches, 105 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5044 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=1805, Invalid=9537, Unknown=0, NotChecked=0, Total=11342 [2022-04-28 10:37:05,388 INFO L413 NwaCegarLoop]: 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-28 10:37:05,388 INFO L414 NwaCegarLoop]: 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-28 10:37:05,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-28 10:37:05,994 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 83. [2022-04-28 10:37:05,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:05,994 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-28 10:37:05,995 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-28 10:37:05,995 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-28 10:37:05,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:05,996 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2022-04-28 10:37:05,996 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2022-04-28 10:37:05,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:05,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:05,997 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-28 10:37:05,997 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-28 10:37:05,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:05,998 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2022-04-28 10:37:05,998 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2022-04-28 10:37:05,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:05,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:05,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:05,998 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:05,998 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-28 10:37:05,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 87 transitions. [2022-04-28 10:37:05,999 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 87 transitions. Word has length 71 [2022-04-28 10:37:05,999 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:05,999 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 87 transitions. [2022-04-28 10:37:05,999 INFO L496 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-28 10:37:05,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 87 transitions. [2022-04-28 10:37:06,151 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-28 10:37:06,151 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 87 transitions. [2022-04-28 10:37:06,151 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-28 10:37:06,151 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:06,151 INFO L195 NwaCegarLoop]: 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-28 10:37:06,168 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:06,352 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 40 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable42 [2022-04-28 10:37:06,352 INFO L420 AbstractCegarLoop]: === Iteration 44 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:06,352 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:06,352 INFO L85 PathProgramCache]: Analyzing trace with hash -1662215467, now seen corresponding path program 37 times [2022-04-28 10:37:06,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:06,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1435795840] [2022-04-28 10:37:06,354 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:06,354 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:06,354 INFO L85 PathProgramCache]: Analyzing trace with hash -1662215467, now seen corresponding path program 38 times [2022-04-28 10:37:06,354 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:06,354 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1444109812] [2022-04-28 10:37:06,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:06,355 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:06,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:06,417 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:06,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:06,420 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-28 10:37:06,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {34244#true} assume true; {34244#true} is VALID [2022-04-28 10:37:06,420 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {34244#true} {34244#true} #93#return; {34244#true} is VALID [2022-04-28 10:37:06,420 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:06,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:06,571 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-28 10:37:06,572 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-28 10:37:06,572 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-28 10:37:06,572 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-28 10:37:06,573 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-28 10:37:06,573 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-28 10:37:06,573 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-28 10:37:06,574 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-28 10:37:06,574 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-28 10:37:06,575 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-28 10:37:06,575 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-28 10:37:06,575 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-28 10:37:06,576 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-28 10:37:06,576 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-28 10:37:06,576 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-28 10:37:06,577 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-28 10:37:06,577 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-28 10:37:06,578 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-28 10:37:06,578 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-28 10:37:06,578 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-28 10:37:06,579 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-28 10:37:06,579 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-28 10:37:06,579 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-28 10:37:06,580 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-28 10:37:06,580 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-28 10:37:06,580 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-28 10:37:06,581 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-28 10:37:06,581 INFO L290 TraceCheckUtils]: 27: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume true; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:06,582 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-28 10:37:06,582 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 10:37:06,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:06,850 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-28 10:37:06,850 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-28 10:37:06,850 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-28 10:37:06,851 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-28 10:37:06,851 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-28 10:37:06,852 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-28 10:37:06,852 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-28 10:37:06,852 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-28 10:37:06,853 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-28 10:37:06,853 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-28 10:37:06,853 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-28 10:37:06,854 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-28 10:37:06,854 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-28 10:37:06,854 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-28 10:37:06,855 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-28 10:37:06,855 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-28 10:37:06,856 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-28 10:37:06,856 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-28 10:37:06,856 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-28 10:37:06,857 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-28 10:37:06,857 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-28 10:37:06,857 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-28 10:37:06,858 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-28 10:37:06,858 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-28 10:37:06,858 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-28 10:37:06,859 INFO L290 TraceCheckUtils]: 25: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume true; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-28 10:37:06,859 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-28 10:37:06,860 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-28 10:37:06,860 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-28 10:37:06,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {34244#true} assume true; {34244#true} is VALID [2022-04-28 10:37:06,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34244#true} {34244#true} #93#return; {34244#true} is VALID [2022-04-28 10:37:06,860 INFO L272 TraceCheckUtils]: 4: Hoare triple {34244#true} call #t~ret7 := main(); {34244#true} is VALID [2022-04-28 10:37:06,860 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-28 10:37:06,860 INFO L290 TraceCheckUtils]: 6: Hoare triple {34244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {34244#true} is VALID [2022-04-28 10:37:06,860 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-28 10:37:06,861 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-28 10:37:06,861 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-28 10:37:06,861 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-28 10:37:06,862 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-28 10:37:06,862 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-28 10:37:06,862 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-28 10:37:06,863 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-28 10:37:06,863 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-28 10:37:06,863 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-28 10:37:06,864 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-28 10:37:06,864 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-28 10:37:06,864 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-28 10:37:06,865 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-28 10:37:06,865 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-28 10:37:06,865 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-28 10:37:06,866 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-28 10:37:06,866 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-28 10:37:06,867 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-28 10:37:06,867 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-28 10:37:06,867 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-28 10:37:06,868 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-28 10:37:06,868 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-28 10:37:06,868 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-28 10:37:06,869 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-28 10:37:06,869 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-28 10:37:06,869 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-28 10:37:06,869 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-28 10:37:06,870 INFO L290 TraceCheckUtils]: 35: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume true; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:06,871 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-28 10:37:06,872 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-28 10:37:06,872 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-28 10:37:06,872 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-28 10:37:06,872 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-28 10:37:06,873 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-28 10:37:06,873 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-28 10:37:06,874 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-28 10:37:06,874 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-28 10:37:06,874 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-28 10:37:06,875 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-28 10:37:06,875 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-28 10:37:06,876 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-28 10:37:06,876 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-28 10:37:06,876 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-28 10:37:06,877 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-28 10:37:06,877 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-28 10:37:06,877 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-28 10:37:06,878 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-28 10:37:06,878 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-28 10:37:06,878 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-28 10:37:06,879 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-28 10:37:06,879 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-28 10:37:06,879 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-28 10:37:06,880 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-28 10:37:06,880 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-28 10:37:06,880 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-28 10:37:06,881 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-28 10:37:06,881 INFO L290 TraceCheckUtils]: 64: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume true; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-28 10:37:06,882 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-28 10:37:06,882 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-28 10:37:06,882 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-28 10:37:06,882 INFO L290 TraceCheckUtils]: 68: Hoare triple {34245#false} ~cond := #in~cond; {34245#false} is VALID [2022-04-28 10:37:06,882 INFO L290 TraceCheckUtils]: 69: Hoare triple {34245#false} assume 0 == ~cond; {34245#false} is VALID [2022-04-28 10:37:06,882 INFO L290 TraceCheckUtils]: 70: Hoare triple {34245#false} assume !false; {34245#false} is VALID [2022-04-28 10:37:06,882 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-28 10:37:06,882 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:37:06,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1444109812] [2022-04-28 10:37:06,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1444109812] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:37:06,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1381581133] [2022-04-28 10:37:06,882 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:37:06,883 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:06,883 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:37:06,883 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:37:06,885 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Waiting until timeout for monitored process [2022-04-28 10:37:06,976 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:37:06,976 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:37:06,977 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 10:37:06,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:06,996 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:37:08,197 INFO L272 TraceCheckUtils]: 0: Hoare triple {34244#true} call ULTIMATE.init(); {34244#true} is VALID [2022-04-28 10:37:08,197 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-28 10:37:08,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {34244#true} assume true; {34244#true} is VALID [2022-04-28 10:37:08,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34244#true} {34244#true} #93#return; {34244#true} is VALID [2022-04-28 10:37:08,197 INFO L272 TraceCheckUtils]: 4: Hoare triple {34244#true} call #t~ret7 := main(); {34244#true} is VALID [2022-04-28 10:37:08,197 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-28 10:37:08,197 INFO L290 TraceCheckUtils]: 6: Hoare triple {34244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {34244#true} is VALID [2022-04-28 10:37:08,197 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-28 10:37:08,198 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-28 10:37:08,198 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-28 10:37:08,198 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-28 10:37:08,199 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-28 10:37:08,199 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-28 10:37:08,199 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-28 10:37:08,200 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-28 10:37:08,200 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-28 10:37:08,200 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-28 10:37:08,201 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-28 10:37:08,201 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-28 10:37:08,202 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-28 10:37:08,202 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-28 10:37:08,202 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-28 10:37:08,203 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-28 10:37:08,203 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-28 10:37:08,203 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-28 10:37:08,204 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-28 10:37:08,204 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-28 10:37:08,204 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-28 10:37:08,205 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-28 10:37:08,205 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-28 10:37:08,206 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-28 10:37:08,206 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-28 10:37:08,206 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-28 10:37:08,206 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-28 10:37:08,207 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-28 10:37:08,207 INFO L290 TraceCheckUtils]: 35: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume true; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:08,208 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-28 10:37:08,208 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-28 10:37:08,208 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-28 10:37:08,209 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-28 10:37:08,209 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-28 10:37:08,209 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-28 10:37:08,210 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-28 10:37:08,210 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-28 10:37:08,211 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-28 10:37:08,211 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-28 10:37:08,211 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-28 10:37:08,212 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-28 10:37:08,212 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-28 10:37:08,213 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-28 10:37:08,213 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-28 10:37:08,213 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-28 10:37:08,214 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-28 10:37:08,214 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-28 10:37:08,215 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-28 10:37:08,215 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-28 10:37:08,215 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-28 10:37:08,216 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-28 10:37:08,216 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-28 10:37:08,216 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-28 10:37:08,217 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-28 10:37:08,217 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-28 10:37:08,217 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-28 10:37:08,218 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-28 10:37:08,218 INFO L290 TraceCheckUtils]: 64: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume true; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-28 10:37:08,219 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-28 10:37:08,219 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-28 10:37:08,219 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-28 10:37:08,219 INFO L290 TraceCheckUtils]: 68: Hoare triple {34245#false} ~cond := #in~cond; {34245#false} is VALID [2022-04-28 10:37:08,219 INFO L290 TraceCheckUtils]: 69: Hoare triple {34245#false} assume 0 == ~cond; {34245#false} is VALID [2022-04-28 10:37:08,219 INFO L290 TraceCheckUtils]: 70: Hoare triple {34245#false} assume !false; {34245#false} is VALID [2022-04-28 10:37:08,219 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-28 10:37:08,219 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:12,194 INFO L290 TraceCheckUtils]: 70: Hoare triple {34245#false} assume !false; {34245#false} is VALID [2022-04-28 10:37:12,194 INFO L290 TraceCheckUtils]: 69: Hoare triple {34245#false} assume 0 == ~cond; {34245#false} is VALID [2022-04-28 10:37:12,194 INFO L290 TraceCheckUtils]: 68: Hoare triple {34245#false} ~cond := #in~cond; {34245#false} is VALID [2022-04-28 10:37:12,194 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-28 10:37:12,194 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-28 10:37:12,195 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-28 10:37:12,195 INFO L290 TraceCheckUtils]: 64: Hoare triple {34334#(<= |student_version_#in~w| 20)} assume true; {34334#(<= |student_version_#in~w| 20)} is VALID [2022-04-28 10:37:12,196 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-28 10:37:12,196 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-28 10:37:12,196 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-28 10:37:12,197 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-28 10:37:12,197 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-28 10:37:12,197 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-28 10:37:12,198 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-28 10:37:12,198 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-28 10:37:12,198 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-28 10:37:12,199 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-28 10:37:12,199 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-28 10:37:12,200 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-28 10:37:12,200 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-28 10:37:12,201 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-28 10:37:12,201 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-28 10:37:12,201 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-28 10:37:12,202 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-28 10:37:12,202 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-28 10:37:12,202 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-28 10:37:12,203 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-28 10:37:12,203 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-28 10:37:12,203 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-28 10:37:12,204 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-28 10:37:12,204 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-28 10:37:12,204 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-28 10:37:12,204 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-28 10:37:12,205 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-28 10:37:12,206 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-28 10:37:12,206 INFO L290 TraceCheckUtils]: 35: Hoare triple {34320#(<= 21 |correct_version_#in~w|)} assume true; {34320#(<= 21 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:12,206 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-28 10:37:12,206 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-28 10:37:12,207 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-28 10:37:12,207 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-28 10:37:12,207 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-28 10:37:12,208 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-28 10:37:12,208 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-28 10:37:12,208 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-28 10:37:12,209 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-28 10:37:12,209 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-28 10:37:12,222 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-28 10:37:12,223 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-28 10:37:12,223 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-28 10:37:12,223 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-28 10:37:12,224 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-28 10:37:12,224 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-28 10:37:12,224 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-28 10:37:12,225 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-28 10:37:12,225 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-28 10:37:12,225 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-28 10:37:12,226 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-28 10:37:12,226 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-28 10:37:12,226 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-28 10:37:12,227 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-28 10:37:12,227 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-28 10:37:12,228 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-28 10:37:12,228 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-28 10:37:12,228 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-28 10:37:12,228 INFO L290 TraceCheckUtils]: 6: Hoare triple {34244#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {34244#true} is VALID [2022-04-28 10:37:12,228 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-28 10:37:12,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {34244#true} call #t~ret7 := main(); {34244#true} is VALID [2022-04-28 10:37:12,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34244#true} {34244#true} #93#return; {34244#true} is VALID [2022-04-28 10:37:12,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {34244#true} assume true; {34244#true} is VALID [2022-04-28 10:37:12,228 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-28 10:37:12,228 INFO L272 TraceCheckUtils]: 0: Hoare triple {34244#true} call ULTIMATE.init(); {34244#true} is VALID [2022-04-28 10:37:12,229 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-28 10:37:12,229 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1381581133] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:12,229 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:12,229 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [32, 29, 29] total 80 [2022-04-28 10:37:12,229 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:12,229 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1435795840] [2022-04-28 10:37:12,229 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1435795840] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:12,229 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:12,229 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-28 10:37:12,229 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2116569032] [2022-04-28 10:37:12,229 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:12,230 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-28 10:37:12,230 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:12,230 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-28 10:37:12,279 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:12,279 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-28 10:37:12,279 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:12,279 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-28 10:37:12,279 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1053, Invalid=5267, Unknown=0, NotChecked=0, Total=6320 [2022-04-28 10:37:12,280 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-28 10:37:14,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:14,213 INFO L93 Difference]: Finished difference Result 93 states and 96 transitions. [2022-04-28 10:37:14,213 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 10:37:14,213 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-28 10:37:14,213 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:14,213 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-28 10:37:14,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 88 transitions. [2022-04-28 10:37:14,214 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-28 10:37:14,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 88 transitions. [2022-04-28 10:37:14,215 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 88 transitions. [2022-04-28 10:37:14,286 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-28 10:37:14,286 INFO L225 Difference]: With dead ends: 93 [2022-04-28 10:37:14,287 INFO L226 Difference]: Without dead ends: 83 [2022-04-28 10:37:14,287 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 93 SyntacticMatches, 5 SemanticMatches, 105 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4979 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=1805, Invalid=9537, Unknown=0, NotChecked=0, Total=11342 [2022-04-28 10:37:14,288 INFO L413 NwaCegarLoop]: 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-28 10:37:14,288 INFO L414 NwaCegarLoop]: 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-28 10:37:14,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-28 10:37:14,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 82. [2022-04-28 10:37:14,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:14,872 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-28 10:37:14,872 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-28 10:37:14,872 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-28 10:37:14,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:14,873 INFO L93 Difference]: Finished difference Result 83 states and 86 transitions. [2022-04-28 10:37:14,873 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 86 transitions. [2022-04-28 10:37:14,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:14,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:14,873 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-28 10:37:14,873 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-28 10:37:14,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:14,874 INFO L93 Difference]: Finished difference Result 83 states and 86 transitions. [2022-04-28 10:37:14,874 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 86 transitions. [2022-04-28 10:37:14,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:14,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:14,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:14,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:14,874 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-28 10:37:14,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 85 transitions. [2022-04-28 10:37:14,875 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 85 transitions. Word has length 71 [2022-04-28 10:37:14,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:14,875 INFO L495 AbstractCegarLoop]: Abstraction has 82 states and 85 transitions. [2022-04-28 10:37:14,875 INFO L496 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-28 10:37:14,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 85 transitions. [2022-04-28 10:37:15,023 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-28 10:37:15,023 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 85 transitions. [2022-04-28 10:37:15,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 10:37:15,023 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:15,023 INFO L195 NwaCegarLoop]: 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-28 10:37:15,040 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:15,229 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 41 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable43 [2022-04-28 10:37:15,229 INFO L420 AbstractCegarLoop]: === Iteration 45 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:15,229 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:15,229 INFO L85 PathProgramCache]: Analyzing trace with hash -1409456937, now seen corresponding path program 39 times [2022-04-28 10:37:15,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:15,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [83605865] [2022-04-28 10:37:15,231 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:15,231 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:15,231 INFO L85 PathProgramCache]: Analyzing trace with hash -1409456937, now seen corresponding path program 40 times [2022-04-28 10:37:15,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:15,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [695263566] [2022-04-28 10:37:15,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:15,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:15,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:15,271 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:15,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:15,273 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-28 10:37:15,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {35378#true} assume true; {35378#true} is VALID [2022-04-28 10:37:15,273 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35378#true} {35378#true} #93#return; {35378#true} is VALID [2022-04-28 10:37:15,273 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:15,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:15,452 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-28 10:37:15,453 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-28 10:37:15,453 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-28 10:37:15,454 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-28 10:37:15,454 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-28 10:37:15,454 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-28 10:37:15,455 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-28 10:37:15,455 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-28 10:37:15,455 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-28 10:37:15,456 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-28 10:37:15,456 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-28 10:37:15,456 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-28 10:37:15,457 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-28 10:37:15,457 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-28 10:37:15,457 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-28 10:37:15,458 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-28 10:37:15,458 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-28 10:37:15,458 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-28 10:37:15,459 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-28 10:37:15,459 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-28 10:37:15,459 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-28 10:37:15,460 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-28 10:37:15,460 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-28 10:37:15,460 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-28 10:37:15,461 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-28 10:37:15,461 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-28 10:37:15,461 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-28 10:37:15,462 INFO L290 TraceCheckUtils]: 27: Hoare triple {35457#(<= |correct_version_#in~w| 21)} assume true; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-28 10:37:15,462 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-28 10:37:15,463 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 10:37:15,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:15,686 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-28 10:37:15,686 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-28 10:37:15,686 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-28 10:37:15,687 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-28 10:37:15,687 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-28 10:37:15,688 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-28 10:37:15,688 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-28 10:37:15,688 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-28 10:37:15,689 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-28 10:37:15,689 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-28 10:37:15,689 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-28 10:37:15,690 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-28 10:37:15,690 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-28 10:37:15,691 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-28 10:37:15,691 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-28 10:37:15,691 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-28 10:37:15,692 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-28 10:37:15,692 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-28 10:37:15,692 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-28 10:37:15,693 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-28 10:37:15,693 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-28 10:37:15,693 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-28 10:37:15,694 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-28 10:37:15,694 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-28 10:37:15,694 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-28 10:37:15,695 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-28 10:37:15,695 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-28 10:37:15,695 INFO L290 TraceCheckUtils]: 27: Hoare triple {35471#(<= 22 |student_version_#in~w|)} assume true; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-28 10:37:15,696 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-28 10:37:15,697 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-28 10:37:15,697 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-28 10:37:15,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {35378#true} assume true; {35378#true} is VALID [2022-04-28 10:37:15,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35378#true} {35378#true} #93#return; {35378#true} is VALID [2022-04-28 10:37:15,697 INFO L272 TraceCheckUtils]: 4: Hoare triple {35378#true} call #t~ret7 := main(); {35378#true} is VALID [2022-04-28 10:37:15,697 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-28 10:37:15,697 INFO L290 TraceCheckUtils]: 6: Hoare triple {35378#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {35378#true} is VALID [2022-04-28 10:37:15,697 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-28 10:37:15,697 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-28 10:37:15,698 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-28 10:37:15,698 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-28 10:37:15,698 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-28 10:37:15,699 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-28 10:37:15,699 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-28 10:37:15,699 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-28 10:37:15,700 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-28 10:37:15,700 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-28 10:37:15,701 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-28 10:37:15,701 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-28 10:37:15,701 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-28 10:37:15,702 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-28 10:37:15,702 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-28 10:37:15,702 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-28 10:37:15,703 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-28 10:37:15,703 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-28 10:37:15,704 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-28 10:37:15,704 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-28 10:37:15,704 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-28 10:37:15,705 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-28 10:37:15,705 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-28 10:37:15,705 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-28 10:37:15,706 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-28 10:37:15,706 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-28 10:37:15,707 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-28 10:37:15,707 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-28 10:37:15,707 INFO L290 TraceCheckUtils]: 35: Hoare triple {35457#(<= |correct_version_#in~w| 21)} assume true; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-28 10:37:15,708 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-28 10:37:15,709 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-28 10:37:15,709 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-28 10:37:15,709 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-28 10:37:15,710 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-28 10:37:15,710 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-28 10:37:15,711 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-28 10:37:15,711 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-28 10:37:15,712 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-28 10:37:15,712 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-28 10:37:15,712 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-28 10:37:15,713 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-28 10:37:15,713 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-28 10:37:15,714 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-28 10:37:15,714 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-28 10:37:15,714 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-28 10:37:15,715 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-28 10:37:15,715 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-28 10:37:15,716 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-28 10:37:15,716 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-28 10:37:15,717 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-28 10:37:15,717 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-28 10:37:15,717 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-28 10:37:15,718 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-28 10:37:15,718 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-28 10:37:15,718 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-28 10:37:15,719 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-28 10:37:15,719 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-28 10:37:15,720 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-28 10:37:15,720 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-28 10:37:15,720 INFO L290 TraceCheckUtils]: 66: Hoare triple {35471#(<= 22 |student_version_#in~w|)} assume true; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-28 10:37:15,721 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-28 10:37:15,721 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-28 10:37:15,721 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-28 10:37:15,721 INFO L290 TraceCheckUtils]: 70: Hoare triple {35379#false} ~cond := #in~cond; {35379#false} is VALID [2022-04-28 10:37:15,721 INFO L290 TraceCheckUtils]: 71: Hoare triple {35379#false} assume 0 == ~cond; {35379#false} is VALID [2022-04-28 10:37:15,721 INFO L290 TraceCheckUtils]: 72: Hoare triple {35379#false} assume !false; {35379#false} is VALID [2022-04-28 10:37:15,722 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-28 10:37:15,722 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:37:15,722 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [695263566] [2022-04-28 10:37:15,722 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [695263566] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:37:15,722 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2014299979] [2022-04-28 10:37:15,722 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:37:15,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:15,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:37:15,723 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:37:15,723 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Waiting until timeout for monitored process [2022-04-28 10:37:15,817 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:37:15,817 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:37:15,818 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 10:37:15,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:15,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:37:16,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {35378#true} call ULTIMATE.init(); {35378#true} is VALID [2022-04-28 10:37:16,947 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-28 10:37:16,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {35378#true} assume true; {35378#true} is VALID [2022-04-28 10:37:16,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35378#true} {35378#true} #93#return; {35378#true} is VALID [2022-04-28 10:37:16,948 INFO L272 TraceCheckUtils]: 4: Hoare triple {35378#true} call #t~ret7 := main(); {35378#true} is VALID [2022-04-28 10:37:16,948 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-28 10:37:16,948 INFO L290 TraceCheckUtils]: 6: Hoare triple {35378#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {35378#true} is VALID [2022-04-28 10:37:16,948 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-28 10:37:16,948 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-28 10:37:16,948 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-28 10:37:16,949 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-28 10:37:16,949 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-28 10:37:16,949 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-28 10:37:16,950 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-28 10:37:16,950 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-28 10:37:16,950 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-28 10:37:16,951 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-28 10:37:16,951 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-28 10:37:16,951 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-28 10:37:16,952 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-28 10:37:16,952 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-28 10:37:16,952 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-28 10:37:16,953 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-28 10:37:16,953 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-28 10:37:16,953 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-28 10:37:16,954 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-28 10:37:16,954 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-28 10:37:16,955 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-28 10:37:16,955 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-28 10:37:16,955 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-28 10:37:16,956 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-28 10:37:16,956 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-28 10:37:16,956 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-28 10:37:16,957 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-28 10:37:16,957 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-28 10:37:16,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {35457#(<= |correct_version_#in~w| 21)} assume true; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-28 10:37:16,958 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-28 10:37:16,958 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-28 10:37:16,958 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-28 10:37:16,959 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-28 10:37:16,959 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-28 10:37:16,959 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-28 10:37:16,960 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-28 10:37:16,960 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-28 10:37:16,960 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-28 10:37:16,961 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-28 10:37:16,961 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-28 10:37:16,961 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-28 10:37:16,962 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-28 10:37:16,962 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-28 10:37:16,962 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-28 10:37:16,963 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-28 10:37:16,963 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-28 10:37:16,963 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-28 10:37:16,964 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-28 10:37:16,964 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-28 10:37:16,964 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-28 10:37:16,965 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-28 10:37:16,965 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-28 10:37:16,965 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-28 10:37:16,966 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-28 10:37:16,966 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-28 10:37:16,967 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-28 10:37:16,967 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-28 10:37:16,967 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-28 10:37:16,967 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-28 10:37:16,968 INFO L290 TraceCheckUtils]: 66: Hoare triple {35471#(<= 22 |student_version_#in~w|)} assume true; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-28 10:37:16,968 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-28 10:37:16,968 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-28 10:37:16,969 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-28 10:37:16,969 INFO L290 TraceCheckUtils]: 70: Hoare triple {35379#false} ~cond := #in~cond; {35379#false} is VALID [2022-04-28 10:37:16,969 INFO L290 TraceCheckUtils]: 71: Hoare triple {35379#false} assume 0 == ~cond; {35379#false} is VALID [2022-04-28 10:37:16,969 INFO L290 TraceCheckUtils]: 72: Hoare triple {35379#false} assume !false; {35379#false} is VALID [2022-04-28 10:37:16,969 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-28 10:37:16,969 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:24,373 INFO L290 TraceCheckUtils]: 72: Hoare triple {35379#false} assume !false; {35379#false} is VALID [2022-04-28 10:37:24,374 INFO L290 TraceCheckUtils]: 71: Hoare triple {35379#false} assume 0 == ~cond; {35379#false} is VALID [2022-04-28 10:37:24,374 INFO L290 TraceCheckUtils]: 70: Hoare triple {35379#false} ~cond := #in~cond; {35379#false} is VALID [2022-04-28 10:37:24,374 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-28 10:37:24,374 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-28 10:37:24,375 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-28 10:37:24,375 INFO L290 TraceCheckUtils]: 66: Hoare triple {35471#(<= 22 |student_version_#in~w|)} assume true; {35471#(<= 22 |student_version_#in~w|)} is VALID [2022-04-28 10:37:24,375 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-28 10:37:24,375 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-28 10:37:24,376 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-28 10:37:24,376 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-28 10:37:24,377 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-28 10:37:24,377 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-28 10:37:24,377 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-28 10:37:24,378 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-28 10:37:24,378 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-28 10:37:24,378 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-28 10:37:24,379 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-28 10:37:24,379 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-28 10:37:24,380 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-28 10:37:24,380 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-28 10:37:24,380 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-28 10:37:24,381 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-28 10:37:24,381 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-28 10:37:24,381 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-28 10:37:24,382 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-28 10:37:24,382 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-28 10:37:24,382 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-28 10:37:24,383 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-28 10:37:24,383 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-28 10:37:24,383 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-28 10:37:24,384 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-28 10:37:24,384 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-28 10:37:24,384 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-28 10:37:24,384 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-28 10:37:24,385 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-28 10:37:24,385 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-28 10:37:24,386 INFO L290 TraceCheckUtils]: 35: Hoare triple {35457#(<= |correct_version_#in~w| 21)} assume true; {35457#(<= |correct_version_#in~w| 21)} is VALID [2022-04-28 10:37:24,386 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-28 10:37:24,386 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-28 10:37:24,387 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-28 10:37:24,387 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-28 10:37:24,387 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-28 10:37:24,388 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-28 10:37:24,388 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-28 10:37:24,388 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-28 10:37:24,389 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-28 10:37:24,389 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-28 10:37:24,389 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-28 10:37:24,390 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-28 10:37:24,390 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-28 10:37:24,391 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-28 10:37:24,391 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-28 10:37:24,391 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-28 10:37:24,392 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-28 10:37:24,392 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-28 10:37:24,392 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-28 10:37:24,393 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-28 10:37:24,393 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-28 10:37:24,393 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-28 10:37:24,394 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-28 10:37:24,394 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-28 10:37:24,394 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-28 10:37:24,395 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-28 10:37:24,395 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-28 10:37:24,395 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-28 10:37:24,395 INFO L290 TraceCheckUtils]: 6: Hoare triple {35378#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {35378#true} is VALID [2022-04-28 10:37:24,395 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-28 10:37:24,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {35378#true} call #t~ret7 := main(); {35378#true} is VALID [2022-04-28 10:37:24,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35378#true} {35378#true} #93#return; {35378#true} is VALID [2022-04-28 10:37:24,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {35378#true} assume true; {35378#true} is VALID [2022-04-28 10:37:24,395 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-28 10:37:24,396 INFO L272 TraceCheckUtils]: 0: Hoare triple {35378#true} call ULTIMATE.init(); {35378#true} is VALID [2022-04-28 10:37:24,396 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-28 10:37:24,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2014299979] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:24,396 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:24,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 87 [2022-04-28 10:37:24,396 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:24,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [83605865] [2022-04-28 10:37:24,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [83605865] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:24,396 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:24,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-28 10:37:24,396 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [883292157] [2022-04-28 10:37:24,396 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:24,397 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-28 10:37:24,397 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:24,397 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-28 10:37:24,443 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-28 10:37:24,443 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-28 10:37:24,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:24,443 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-28 10:37:24,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1199, Invalid=6283, Unknown=0, NotChecked=0, Total=7482 [2022-04-28 10:37:24,444 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-28 10:37:26,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:26,806 INFO L93 Difference]: Finished difference Result 102 states and 109 transitions. [2022-04-28 10:37:26,806 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-04-28 10:37:26,806 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-28 10:37:26,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:26,806 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-28 10:37:26,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 104 transitions. [2022-04-28 10:37:26,807 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-28 10:37:26,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 104 transitions. [2022-04-28 10:37:26,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 104 transitions. [2022-04-28 10:37:26,888 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:26,890 INFO L225 Difference]: With dead ends: 102 [2022-04-28 10:37:26,890 INFO L226 Difference]: Without dead ends: 91 [2022-04-28 10:37:26,891 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 91 SyntacticMatches, 5 SemanticMatches, 115 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5957 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=2077, Invalid=11495, Unknown=0, NotChecked=0, Total=13572 [2022-04-28 10:37:26,891 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 95 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 698 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:37:26,891 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [99 Valid, 77 Invalid, 737 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 698 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:37:26,891 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-28 10:37:27,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 85. [2022-04-28 10:37:27,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:27,555 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-28 10:37:27,555 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-28 10:37:27,555 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-28 10:37:27,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:27,556 INFO L93 Difference]: Finished difference Result 91 states and 97 transitions. [2022-04-28 10:37:27,556 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 97 transitions. [2022-04-28 10:37:27,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:27,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:27,556 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-28 10:37:27,556 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-28 10:37:27,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:27,557 INFO L93 Difference]: Finished difference Result 91 states and 97 transitions. [2022-04-28 10:37:27,557 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 97 transitions. [2022-04-28 10:37:27,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:27,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:27,557 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:27,557 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:27,558 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-28 10:37:27,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 89 transitions. [2022-04-28 10:37:27,558 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 89 transitions. Word has length 73 [2022-04-28 10:37:27,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:27,558 INFO L495 AbstractCegarLoop]: Abstraction has 85 states and 89 transitions. [2022-04-28 10:37:27,559 INFO L496 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-28 10:37:27,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 89 transitions. [2022-04-28 10:37:27,726 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:27,726 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 89 transitions. [2022-04-28 10:37:27,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 10:37:27,726 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:27,727 INFO L195 NwaCegarLoop]: 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-28 10:37:27,745 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:27,927 WARN L477 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-28 10:37:27,927 INFO L420 AbstractCegarLoop]: === Iteration 46 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:27,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:27,927 INFO L85 PathProgramCache]: Analyzing trace with hash 833644691, now seen corresponding path program 39 times [2022-04-28 10:37:27,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:27,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1058323467] [2022-04-28 10:37:27,930 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:27,930 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:27,930 INFO L85 PathProgramCache]: Analyzing trace with hash 833644691, now seen corresponding path program 40 times [2022-04-28 10:37:27,930 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:27,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2016349273] [2022-04-28 10:37:27,930 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:27,930 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:27,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:27,966 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:27,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:27,969 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-28 10:37:27,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {36579#true} assume true; {36579#true} is VALID [2022-04-28 10:37:27,969 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {36579#true} {36579#true} #93#return; {36579#true} is VALID [2022-04-28 10:37:27,969 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:27,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:28,156 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-28 10:37:28,157 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-28 10:37:28,157 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-28 10:37:28,158 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-28 10:37:28,158 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-28 10:37:28,159 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-28 10:37:28,159 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-28 10:37:28,160 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-28 10:37:28,160 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-28 10:37:28,161 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-28 10:37:28,161 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-28 10:37:28,161 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-28 10:37:28,162 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-28 10:37:28,162 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-28 10:37:28,163 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-28 10:37:28,163 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-28 10:37:28,163 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-28 10:37:28,164 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-28 10:37:28,164 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-28 10:37:28,165 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-28 10:37:28,165 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-28 10:37:28,165 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-28 10:37:28,166 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-28 10:37:28,166 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-28 10:37:28,167 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-28 10:37:28,167 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-28 10:37:28,167 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-28 10:37:28,168 INFO L290 TraceCheckUtils]: 27: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} assume true; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:28,169 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-28 10:37:28,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 10:37:28,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:28,481 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-28 10:37:28,482 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-28 10:37:28,482 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-28 10:37:28,483 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-28 10:37:28,483 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-28 10:37:28,483 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-28 10:37:28,484 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-28 10:37:28,484 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-28 10:37:28,485 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-28 10:37:28,485 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-28 10:37:28,485 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-28 10:37:28,486 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-28 10:37:28,486 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-28 10:37:28,487 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-28 10:37:28,487 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-28 10:37:28,487 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-28 10:37:28,488 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-28 10:37:28,488 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-28 10:37:28,489 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-28 10:37:28,489 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-28 10:37:28,489 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-28 10:37:28,490 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-28 10:37:28,490 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-28 10:37:28,491 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-28 10:37:28,491 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-28 10:37:28,491 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-28 10:37:28,492 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-28 10:37:28,492 INFO L290 TraceCheckUtils]: 27: Hoare triple {36672#(<= |student_version_#in~w| 21)} assume true; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-28 10:37:28,493 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-28 10:37:28,493 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-28 10:37:28,493 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-28 10:37:28,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {36579#true} assume true; {36579#true} is VALID [2022-04-28 10:37:28,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36579#true} {36579#true} #93#return; {36579#true} is VALID [2022-04-28 10:37:28,494 INFO L272 TraceCheckUtils]: 4: Hoare triple {36579#true} call #t~ret7 := main(); {36579#true} is VALID [2022-04-28 10:37:28,494 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-28 10:37:28,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {36579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {36579#true} is VALID [2022-04-28 10:37:28,494 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-28 10:37:28,494 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-28 10:37:28,494 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-28 10:37:28,495 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-28 10:37:28,495 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-28 10:37:28,496 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-28 10:37:28,496 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-28 10:37:28,496 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-28 10:37:28,497 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-28 10:37:28,497 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-28 10:37:28,498 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-28 10:37:28,498 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-28 10:37:28,498 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-28 10:37:28,499 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-28 10:37:28,499 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-28 10:37:28,499 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-28 10:37:28,500 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-28 10:37:28,500 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-28 10:37:28,501 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-28 10:37:28,501 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-28 10:37:28,501 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-28 10:37:28,502 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-28 10:37:28,502 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-28 10:37:28,503 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-28 10:37:28,503 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-28 10:37:28,503 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-28 10:37:28,504 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-28 10:37:28,504 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-28 10:37:28,504 INFO L290 TraceCheckUtils]: 35: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} assume true; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:28,505 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-28 10:37:28,506 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-28 10:37:28,506 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-28 10:37:28,506 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-28 10:37:28,506 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-28 10:37:28,507 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-28 10:37:28,507 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-28 10:37:28,507 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-28 10:37:28,508 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-28 10:37:28,508 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-28 10:37:28,509 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-28 10:37:28,509 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-28 10:37:28,509 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-28 10:37:28,510 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-28 10:37:28,510 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-28 10:37:28,511 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-28 10:37:28,511 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-28 10:37:28,511 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-28 10:37:28,512 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-28 10:37:28,512 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-28 10:37:28,512 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-28 10:37:28,513 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-28 10:37:28,513 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-28 10:37:28,514 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-28 10:37:28,514 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-28 10:37:28,514 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-28 10:37:28,515 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-28 10:37:28,515 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-28 10:37:28,516 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-28 10:37:28,516 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-28 10:37:28,517 INFO L290 TraceCheckUtils]: 66: Hoare triple {36672#(<= |student_version_#in~w| 21)} assume true; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-28 10:37:28,517 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-28 10:37:28,517 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-28 10:37:28,518 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-28 10:37:28,518 INFO L290 TraceCheckUtils]: 70: Hoare triple {36580#false} ~cond := #in~cond; {36580#false} is VALID [2022-04-28 10:37:28,518 INFO L290 TraceCheckUtils]: 71: Hoare triple {36580#false} assume 0 == ~cond; {36580#false} is VALID [2022-04-28 10:37:28,518 INFO L290 TraceCheckUtils]: 72: Hoare triple {36580#false} assume !false; {36580#false} is VALID [2022-04-28 10:37:28,518 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-28 10:37:28,518 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:37:28,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2016349273] [2022-04-28 10:37:28,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2016349273] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:37:28,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [101854099] [2022-04-28 10:37:28,518 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:37:28,518 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:28,519 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:37:28,519 INFO L229 MonitoredProcess]: Starting monitored process 43 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:37:28,567 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Waiting until timeout for monitored process [2022-04-28 10:37:28,672 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:37:28,672 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:37:28,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 10:37:28,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:28,695 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:37:30,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {36579#true} call ULTIMATE.init(); {36579#true} is VALID [2022-04-28 10:37:30,169 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-28 10:37:30,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {36579#true} assume true; {36579#true} is VALID [2022-04-28 10:37:30,169 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36579#true} {36579#true} #93#return; {36579#true} is VALID [2022-04-28 10:37:30,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {36579#true} call #t~ret7 := main(); {36579#true} is VALID [2022-04-28 10:37:30,170 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-28 10:37:30,170 INFO L290 TraceCheckUtils]: 6: Hoare triple {36579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {36579#true} is VALID [2022-04-28 10:37:30,170 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-28 10:37:30,170 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-28 10:37:30,170 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-28 10:37:30,171 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-28 10:37:30,171 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-28 10:37:30,171 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-28 10:37:30,172 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-28 10:37:30,172 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-28 10:37:30,172 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-28 10:37:30,173 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-28 10:37:30,173 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-28 10:37:30,173 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-28 10:37:30,174 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-28 10:37:30,174 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-28 10:37:30,174 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-28 10:37:30,175 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-28 10:37:30,175 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-28 10:37:30,176 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-28 10:37:30,176 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-28 10:37:30,176 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-28 10:37:30,177 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-28 10:37:30,177 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-28 10:37:30,177 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-28 10:37:30,178 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-28 10:37:30,178 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-28 10:37:30,178 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-28 10:37:30,179 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-28 10:37:30,179 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-28 10:37:30,179 INFO L290 TraceCheckUtils]: 35: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} assume true; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:30,180 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-28 10:37:30,180 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-28 10:37:30,180 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-28 10:37:30,181 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-28 10:37:30,181 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-28 10:37:30,181 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-28 10:37:30,182 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-28 10:37:30,182 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-28 10:37:30,182 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-28 10:37:30,183 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-28 10:37:30,183 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-28 10:37:30,183 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-28 10:37:30,184 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-28 10:37:30,184 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-28 10:37:30,184 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-28 10:37:30,185 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-28 10:37:30,185 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-28 10:37:30,193 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-28 10:37:30,194 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-28 10:37:30,194 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-28 10:37:30,195 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-28 10:37:30,195 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-28 10:37:30,195 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-28 10:37:30,196 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-28 10:37:30,196 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-28 10:37:30,196 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-28 10:37:30,197 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-28 10:37:30,197 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-28 10:37:30,197 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-28 10:37:30,198 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-28 10:37:30,198 INFO L290 TraceCheckUtils]: 66: Hoare triple {36672#(<= |student_version_#in~w| 21)} assume true; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-28 10:37:30,199 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-28 10:37:30,199 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-28 10:37:30,199 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-28 10:37:30,199 INFO L290 TraceCheckUtils]: 70: Hoare triple {36580#false} ~cond := #in~cond; {36580#false} is VALID [2022-04-28 10:37:30,199 INFO L290 TraceCheckUtils]: 71: Hoare triple {36580#false} assume 0 == ~cond; {36580#false} is VALID [2022-04-28 10:37:30,199 INFO L290 TraceCheckUtils]: 72: Hoare triple {36580#false} assume !false; {36580#false} is VALID [2022-04-28 10:37:30,199 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-28 10:37:30,199 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:37,208 INFO L290 TraceCheckUtils]: 72: Hoare triple {36580#false} assume !false; {36580#false} is VALID [2022-04-28 10:37:37,208 INFO L290 TraceCheckUtils]: 71: Hoare triple {36580#false} assume 0 == ~cond; {36580#false} is VALID [2022-04-28 10:37:37,208 INFO L290 TraceCheckUtils]: 70: Hoare triple {36580#false} ~cond := #in~cond; {36580#false} is VALID [2022-04-28 10:37:37,208 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-28 10:37:37,208 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-28 10:37:37,209 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-28 10:37:37,209 INFO L290 TraceCheckUtils]: 66: Hoare triple {36672#(<= |student_version_#in~w| 21)} assume true; {36672#(<= |student_version_#in~w| 21)} is VALID [2022-04-28 10:37:37,209 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-28 10:37:37,210 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-28 10:37:37,210 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-28 10:37:37,210 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-28 10:37:37,211 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-28 10:37:37,211 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-28 10:37:37,211 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-28 10:37:37,212 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-28 10:37:37,212 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-28 10:37:37,212 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-28 10:37:37,213 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-28 10:37:37,213 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-28 10:37:37,213 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-28 10:37:37,214 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-28 10:37:37,214 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-28 10:37:37,215 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-28 10:37:37,215 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-28 10:37:37,215 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-28 10:37:37,216 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-28 10:37:37,216 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-28 10:37:37,216 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-28 10:37:37,217 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-28 10:37:37,217 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-28 10:37:37,217 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-28 10:37:37,218 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-28 10:37:37,218 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-28 10:37:37,218 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-28 10:37:37,218 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-28 10:37:37,219 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-28 10:37:37,220 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-28 10:37:37,220 INFO L290 TraceCheckUtils]: 35: Hoare triple {36657#(<= 22 |correct_version_#in~w|)} assume true; {36657#(<= 22 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:37,220 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-28 10:37:37,220 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-28 10:37:37,221 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-28 10:37:37,221 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-28 10:37:37,221 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-28 10:37:37,222 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-28 10:37:37,222 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-28 10:37:37,222 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-28 10:37:37,223 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-28 10:37:37,223 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-28 10:37:37,223 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-28 10:37:37,224 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-28 10:37:37,224 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-28 10:37:37,225 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-28 10:37:37,225 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-28 10:37:37,225 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-28 10:37:37,226 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-28 10:37:37,226 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-28 10:37:37,226 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-28 10:37:37,227 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-28 10:37:37,227 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-28 10:37:37,228 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-28 10:37:37,228 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-28 10:37:37,228 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-28 10:37:37,229 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-28 10:37:37,229 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-28 10:37:37,229 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-28 10:37:37,229 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-28 10:37:37,229 INFO L290 TraceCheckUtils]: 6: Hoare triple {36579#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {36579#true} is VALID [2022-04-28 10:37:37,230 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-28 10:37:37,230 INFO L272 TraceCheckUtils]: 4: Hoare triple {36579#true} call #t~ret7 := main(); {36579#true} is VALID [2022-04-28 10:37:37,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36579#true} {36579#true} #93#return; {36579#true} is VALID [2022-04-28 10:37:37,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {36579#true} assume true; {36579#true} is VALID [2022-04-28 10:37:37,230 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-28 10:37:37,230 INFO L272 TraceCheckUtils]: 0: Hoare triple {36579#true} call ULTIMATE.init(); {36579#true} is VALID [2022-04-28 10:37:37,230 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-28 10:37:37,230 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [101854099] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:37,230 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:37,230 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [33, 32, 32] total 87 [2022-04-28 10:37:37,230 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:37,231 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1058323467] [2022-04-28 10:37:37,231 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1058323467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:37,231 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:37,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-28 10:37:37,231 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1150946489] [2022-04-28 10:37:37,231 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:37,231 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-28 10:37:37,231 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:37,231 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-28 10:37:37,275 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-28 10:37:37,275 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-28 10:37:37,275 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:37,276 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-28 10:37:37,276 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1199, Invalid=6283, Unknown=0, NotChecked=0, Total=7482 [2022-04-28 10:37:37,276 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-28 10:37:39,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:39,477 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2022-04-28 10:37:39,477 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-04-28 10:37:39,477 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-28 10:37:39,478 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:39,478 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-28 10:37:39,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 97 transitions. [2022-04-28 10:37:39,478 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-28 10:37:39,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 97 transitions. [2022-04-28 10:37:39,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 97 transitions. [2022-04-28 10:37:39,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:39,554 INFO L225 Difference]: With dead ends: 97 [2022-04-28 10:37:39,554 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 10:37:39,555 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 91 SyntacticMatches, 5 SemanticMatches, 115 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5969 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=2077, Invalid=11495, Unknown=0, NotChecked=0, Total=13572 [2022-04-28 10:37:39,555 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 107 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 543 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:37:39,555 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [108 Valid, 70 Invalid, 584 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 543 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:37:39,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 10:37:40,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-28 10:37:40,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:40,294 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-28 10:37:40,294 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-28 10:37:40,294 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-28 10:37:40,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:40,295 INFO L93 Difference]: Finished difference Result 88 states and 93 transitions. [2022-04-28 10:37:40,295 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2022-04-28 10:37:40,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:40,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:40,295 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-28 10:37:40,295 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-28 10:37:40,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:40,296 INFO L93 Difference]: Finished difference Result 88 states and 93 transitions. [2022-04-28 10:37:40,296 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2022-04-28 10:37:40,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:40,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:40,296 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:40,296 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:40,296 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-28 10:37:40,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 93 transitions. [2022-04-28 10:37:40,297 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 93 transitions. Word has length 73 [2022-04-28 10:37:40,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:40,297 INFO L495 AbstractCegarLoop]: Abstraction has 88 states and 93 transitions. [2022-04-28 10:37:40,297 INFO L496 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-28 10:37:40,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 93 transitions. [2022-04-28 10:37:40,456 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-28 10:37:40,456 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 93 transitions. [2022-04-28 10:37:40,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 10:37:40,456 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:40,457 INFO L195 NwaCegarLoop]: 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-28 10:37:40,477 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:40,657 WARN L477 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-28 10:37:40,657 INFO L420 AbstractCegarLoop]: === Iteration 47 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:40,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:40,657 INFO L85 PathProgramCache]: Analyzing trace with hash 541409941, now seen corresponding path program 41 times [2022-04-28 10:37:40,657 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:40,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1498001735] [2022-04-28 10:37:40,659 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:40,660 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:40,660 INFO L85 PathProgramCache]: Analyzing trace with hash 541409941, now seen corresponding path program 42 times [2022-04-28 10:37:40,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:40,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [288113482] [2022-04-28 10:37:40,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:40,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:40,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:40,698 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:40,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:40,712 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-28 10:37:40,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {37770#true} assume true; {37770#true} is VALID [2022-04-28 10:37:40,712 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37770#true} {37770#true} #93#return; {37770#true} is VALID [2022-04-28 10:37:40,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:40,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:40,878 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-28 10:37:40,878 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-28 10:37:40,878 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-28 10:37:40,879 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-28 10:37:40,879 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-28 10:37:40,879 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-28 10:37:40,880 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-28 10:37:40,880 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-28 10:37:40,880 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-28 10:37:40,881 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-28 10:37:40,881 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-28 10:37:40,881 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-28 10:37:40,882 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-28 10:37:40,882 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-28 10:37:40,882 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-28 10:37:40,883 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-28 10:37:40,883 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-28 10:37:40,884 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-28 10:37:40,884 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-28 10:37:40,884 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-28 10:37:40,885 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-28 10:37:40,885 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-28 10:37:40,885 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-28 10:37:40,886 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-28 10:37:40,886 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-28 10:37:40,886 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-28 10:37:40,886 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-28 10:37:40,887 INFO L290 TraceCheckUtils]: 27: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume true; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-28 10:37:40,887 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-28 10:37:40,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 10:37:40,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:41,089 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-28 10:37:41,094 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-28 10:37:41,094 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-28 10:37:41,095 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-28 10:37:41,095 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-28 10:37:41,095 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-28 10:37:41,096 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-28 10:37:41,096 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-28 10:37:41,096 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-28 10:37:41,097 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-28 10:37:41,097 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-28 10:37:41,098 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-28 10:37:41,098 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-28 10:37:41,098 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-28 10:37:41,099 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-28 10:37:41,099 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-28 10:37:41,099 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-28 10:37:41,100 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-28 10:37:41,100 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-28 10:37:41,100 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-28 10:37:41,101 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-28 10:37:41,101 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-28 10:37:41,101 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-28 10:37:41,102 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-28 10:37:41,102 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-28 10:37:41,102 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-28 10:37:41,103 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-28 10:37:41,103 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-28 10:37:41,103 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-28 10:37:41,103 INFO L290 TraceCheckUtils]: 29: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume true; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-28 10:37:41,104 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-28 10:37:41,105 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-28 10:37:41,105 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-28 10:37:41,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {37770#true} assume true; {37770#true} is VALID [2022-04-28 10:37:41,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37770#true} {37770#true} #93#return; {37770#true} is VALID [2022-04-28 10:37:41,105 INFO L272 TraceCheckUtils]: 4: Hoare triple {37770#true} call #t~ret7 := main(); {37770#true} is VALID [2022-04-28 10:37:41,105 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-28 10:37:41,105 INFO L290 TraceCheckUtils]: 6: Hoare triple {37770#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {37770#true} is VALID [2022-04-28 10:37:41,105 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-28 10:37:41,105 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-28 10:37:41,106 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-28 10:37:41,106 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-28 10:37:41,106 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-28 10:37:41,107 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-28 10:37:41,107 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-28 10:37:41,108 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-28 10:37:41,108 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-28 10:37:41,108 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-28 10:37:41,109 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-28 10:37:41,109 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-28 10:37:41,109 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-28 10:37:41,110 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-28 10:37:41,110 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-28 10:37:41,111 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-28 10:37:41,111 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-28 10:37:41,111 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-28 10:37:41,112 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-28 10:37:41,112 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-28 10:37:41,113 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-28 10:37:41,113 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-28 10:37:41,113 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-28 10:37:41,114 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-28 10:37:41,114 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-28 10:37:41,115 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-28 10:37:41,115 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-28 10:37:41,115 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-28 10:37:41,116 INFO L290 TraceCheckUtils]: 35: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume true; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-28 10:37:41,116 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-28 10:37:41,117 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-28 10:37:41,117 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-28 10:37:41,117 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-28 10:37:41,117 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-28 10:37:41,118 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-28 10:37:41,118 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-28 10:37:41,118 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-28 10:37:41,119 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-28 10:37:41,119 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-28 10:37:41,119 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-28 10:37:41,120 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-28 10:37:41,120 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-28 10:37:41,120 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-28 10:37:41,121 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-28 10:37:41,121 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-28 10:37:41,122 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-28 10:37:41,122 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-28 10:37:41,122 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-28 10:37:41,123 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-28 10:37:41,123 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-28 10:37:41,123 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-28 10:37:41,124 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-28 10:37:41,124 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-28 10:37:41,124 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-28 10:37:41,125 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-28 10:37:41,125 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-28 10:37:41,125 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-28 10:37:41,126 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-28 10:37:41,126 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-28 10:37:41,126 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-28 10:37:41,127 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-28 10:37:41,127 INFO L290 TraceCheckUtils]: 68: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume true; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-28 10:37:41,128 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-28 10:37:41,128 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-28 10:37:41,128 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-28 10:37:41,128 INFO L290 TraceCheckUtils]: 72: Hoare triple {37771#false} ~cond := #in~cond; {37771#false} is VALID [2022-04-28 10:37:41,128 INFO L290 TraceCheckUtils]: 73: Hoare triple {37771#false} assume 0 == ~cond; {37771#false} is VALID [2022-04-28 10:37:41,128 INFO L290 TraceCheckUtils]: 74: Hoare triple {37771#false} assume !false; {37771#false} is VALID [2022-04-28 10:37:41,128 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-28 10:37:41,128 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:37:41,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [288113482] [2022-04-28 10:37:41,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [288113482] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:37:41,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1503943322] [2022-04-28 10:37:41,129 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:37:41,129 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:41,129 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:37:41,130 INFO L229 MonitoredProcess]: Starting monitored process 44 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:37:41,130 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Waiting until timeout for monitored process [2022-04-28 10:37:41,232 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2022-04-28 10:37:41,233 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:37:41,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 10:37:41,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:41,250 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:37:42,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {37770#true} call ULTIMATE.init(); {37770#true} is VALID [2022-04-28 10:37:42,272 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-28 10:37:42,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {37770#true} assume true; {37770#true} is VALID [2022-04-28 10:37:42,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37770#true} {37770#true} #93#return; {37770#true} is VALID [2022-04-28 10:37:42,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {37770#true} call #t~ret7 := main(); {37770#true} is VALID [2022-04-28 10:37:42,272 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-28 10:37:42,272 INFO L290 TraceCheckUtils]: 6: Hoare triple {37770#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {37770#true} is VALID [2022-04-28 10:37:42,272 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-28 10:37:42,273 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-28 10:37:42,273 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-28 10:37:42,273 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-28 10:37:42,274 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-28 10:37:42,274 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-28 10:37:42,275 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-28 10:37:42,275 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-28 10:37:42,275 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-28 10:37:42,276 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-28 10:37:42,276 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-28 10:37:42,276 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-28 10:37:42,277 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-28 10:37:42,277 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-28 10:37:42,277 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-28 10:37:42,278 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-28 10:37:42,278 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-28 10:37:42,278 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-28 10:37:42,279 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-28 10:37:42,279 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-28 10:37:42,279 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-28 10:37:42,280 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-28 10:37:42,280 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-28 10:37:42,280 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-28 10:37:42,281 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-28 10:37:42,281 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-28 10:37:42,281 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-28 10:37:42,282 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-28 10:37:42,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume true; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-28 10:37:42,283 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-28 10:37:42,283 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-28 10:37:42,283 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-28 10:37:42,283 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-28 10:37:42,284 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-28 10:37:42,284 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-28 10:37:42,284 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-28 10:37:42,285 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-28 10:37:42,285 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-28 10:37:42,285 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-28 10:37:42,286 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-28 10:37:42,286 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-28 10:37:42,287 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-28 10:37:42,287 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-28 10:37:42,287 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-28 10:37:42,288 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-28 10:37:42,288 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-28 10:37:42,288 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-28 10:37:42,289 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-28 10:37:42,289 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-28 10:37:42,289 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-28 10:37:42,290 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-28 10:37:42,290 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-28 10:37:42,290 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-28 10:37:42,291 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-28 10:37:42,291 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-28 10:37:42,291 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-28 10:37:42,292 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-28 10:37:42,292 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-28 10:37:42,292 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-28 10:37:42,293 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-28 10:37:42,293 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-28 10:37:42,293 INFO L290 TraceCheckUtils]: 68: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume true; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-28 10:37:42,294 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-28 10:37:42,294 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-28 10:37:42,294 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-28 10:37:42,294 INFO L290 TraceCheckUtils]: 72: Hoare triple {37771#false} ~cond := #in~cond; {37771#false} is VALID [2022-04-28 10:37:42,294 INFO L290 TraceCheckUtils]: 73: Hoare triple {37771#false} assume 0 == ~cond; {37771#false} is VALID [2022-04-28 10:37:42,294 INFO L290 TraceCheckUtils]: 74: Hoare triple {37771#false} assume !false; {37771#false} is VALID [2022-04-28 10:37:42,294 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-28 10:37:42,294 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:46,687 INFO L290 TraceCheckUtils]: 74: Hoare triple {37771#false} assume !false; {37771#false} is VALID [2022-04-28 10:37:46,688 INFO L290 TraceCheckUtils]: 73: Hoare triple {37771#false} assume 0 == ~cond; {37771#false} is VALID [2022-04-28 10:37:46,688 INFO L290 TraceCheckUtils]: 72: Hoare triple {37771#false} ~cond := #in~cond; {37771#false} is VALID [2022-04-28 10:37:46,688 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-28 10:37:46,688 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-28 10:37:46,689 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-28 10:37:46,689 INFO L290 TraceCheckUtils]: 68: Hoare triple {37866#(<= 23 |student_version_#in~w|)} assume true; {37866#(<= 23 |student_version_#in~w|)} is VALID [2022-04-28 10:37:46,689 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-28 10:37:46,689 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-28 10:37:46,690 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-28 10:37:46,690 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-28 10:37:46,690 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-28 10:37:46,691 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-28 10:37:46,691 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-28 10:37:46,692 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-28 10:37:46,692 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-28 10:37:46,692 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-28 10:37:46,693 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-28 10:37:46,693 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-28 10:37:46,693 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-28 10:37:46,694 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-28 10:37:46,694 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-28 10:37:46,695 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-28 10:37:46,695 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-28 10:37:46,695 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-28 10:37:46,696 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-28 10:37:46,696 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-28 10:37:46,696 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-28 10:37:46,697 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-28 10:37:46,697 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-28 10:37:46,697 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-28 10:37:46,698 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-28 10:37:46,698 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-28 10:37:46,698 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-28 10:37:46,699 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-28 10:37:46,699 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-28 10:37:46,699 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-28 10:37:46,700 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-28 10:37:46,700 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-28 10:37:46,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {37851#(<= |correct_version_#in~w| 22)} assume true; {37851#(<= |correct_version_#in~w| 22)} is VALID [2022-04-28 10:37:46,701 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-28 10:37:46,701 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-28 10:37:46,701 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-28 10:37:46,702 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-28 10:37:46,702 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-28 10:37:46,703 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-28 10:37:46,703 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-28 10:37:46,703 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-28 10:37:46,703 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-28 10:37:46,704 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-28 10:37:46,704 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-28 10:37:46,705 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-28 10:37:46,705 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-28 10:37:46,705 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-28 10:37:46,706 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-28 10:37:46,706 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-28 10:37:46,706 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-28 10:37:46,707 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-28 10:37:46,707 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-28 10:37:46,707 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-28 10:37:46,708 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-28 10:37:46,708 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-28 10:37:46,708 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-28 10:37:46,709 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-28 10:37:46,709 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-28 10:37:46,709 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-28 10:37:46,710 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-28 10:37:46,710 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-28 10:37:46,710 INFO L290 TraceCheckUtils]: 6: Hoare triple {37770#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {37770#true} is VALID [2022-04-28 10:37:46,710 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-28 10:37:46,710 INFO L272 TraceCheckUtils]: 4: Hoare triple {37770#true} call #t~ret7 := main(); {37770#true} is VALID [2022-04-28 10:37:46,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37770#true} {37770#true} #93#return; {37770#true} is VALID [2022-04-28 10:37:46,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {37770#true} assume true; {37770#true} is VALID [2022-04-28 10:37:46,710 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-28 10:37:46,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {37770#true} call ULTIMATE.init(); {37770#true} is VALID [2022-04-28 10:37:46,711 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-28 10:37:46,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1503943322] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:46,711 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:46,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 31, 31] total 86 [2022-04-28 10:37:46,711 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:46,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1498001735] [2022-04-28 10:37:46,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1498001735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:46,711 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:46,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-28 10:37:46,711 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [747831216] [2022-04-28 10:37:46,711 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:46,712 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-28 10:37:46,712 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:46,712 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-28 10:37:46,766 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-28 10:37:46,766 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-28 10:37:46,766 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:46,767 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-28 10:37:46,767 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1217, Invalid=6093, Unknown=0, NotChecked=0, Total=7310 [2022-04-28 10:37:46,767 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-28 10:37:48,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:48,848 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2022-04-28 10:37:48,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 10:37:48,848 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-28 10:37:48,848 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:48,848 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-28 10:37:48,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 100 transitions. [2022-04-28 10:37:48,849 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-28 10:37:48,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 100 transitions. [2022-04-28 10:37:48,850 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 100 transitions. [2022-04-28 10:37:48,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:48,927 INFO L225 Difference]: With dead ends: 103 [2022-04-28 10:37:48,927 INFO L226 Difference]: Without dead ends: 91 [2022-04-28 10:37:48,928 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 97 SyntacticMatches, 5 SemanticMatches, 113 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5901 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=2082, Invalid=11028, Unknown=0, NotChecked=0, Total=13110 [2022-04-28 10:37:48,928 INFO L413 NwaCegarLoop]: 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-28 10:37:48,928 INFO L414 NwaCegarLoop]: 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-28 10:37:48,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-28 10:37:49,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 87. [2022-04-28 10:37:49,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:49,623 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-28 10:37:49,623 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-28 10:37:49,623 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-28 10:37:49,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:49,624 INFO L93 Difference]: Finished difference Result 91 states and 95 transitions. [2022-04-28 10:37:49,624 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 95 transitions. [2022-04-28 10:37:49,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:49,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:49,624 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-28 10:37:49,624 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-28 10:37:49,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:49,625 INFO L93 Difference]: Finished difference Result 91 states and 95 transitions. [2022-04-28 10:37:49,625 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 95 transitions. [2022-04-28 10:37:49,625 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:49,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:49,625 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:49,625 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:49,625 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-28 10:37:49,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 91 transitions. [2022-04-28 10:37:49,626 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 91 transitions. Word has length 75 [2022-04-28 10:37:49,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:49,626 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 91 transitions. [2022-04-28 10:37:49,626 INFO L496 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-28 10:37:49,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 91 transitions. [2022-04-28 10:37:49,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:49,791 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2022-04-28 10:37:49,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 10:37:49,791 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:49,791 INFO L195 NwaCegarLoop]: 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-28 10:37:49,809 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:49,992 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 44 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable46 [2022-04-28 10:37:49,992 INFO L420 AbstractCegarLoop]: === Iteration 48 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:49,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:49,992 INFO L85 PathProgramCache]: Analyzing trace with hash -224886411, now seen corresponding path program 41 times [2022-04-28 10:37:49,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:49,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [886346317] [2022-04-28 10:37:49,994 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:49,994 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:49,994 INFO L85 PathProgramCache]: Analyzing trace with hash -224886411, now seen corresponding path program 42 times [2022-04-28 10:37:49,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:49,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1199672859] [2022-04-28 10:37:49,995 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:49,995 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:50,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:50,040 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:50,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:50,042 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-28 10:37:50,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {38988#true} assume true; {38988#true} is VALID [2022-04-28 10:37:50,042 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38988#true} {38988#true} #93#return; {38988#true} is VALID [2022-04-28 10:37:50,043 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:50,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:50,240 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-28 10:37:50,241 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-28 10:37:50,241 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-28 10:37:50,242 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-28 10:37:50,242 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-28 10:37:50,243 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-28 10:37:50,243 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-28 10:37:50,244 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-28 10:37:50,244 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-28 10:37:50,245 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-28 10:37:50,245 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-28 10:37:50,246 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-28 10:37:50,246 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-28 10:37:50,247 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-28 10:37:50,247 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-28 10:37:50,247 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-28 10:37:50,248 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-28 10:37:50,248 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-28 10:37:50,249 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-28 10:37:50,249 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-28 10:37:50,250 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-28 10:37:50,250 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-28 10:37:50,251 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-28 10:37:50,251 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-28 10:37:50,252 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-28 10:37:50,252 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-28 10:37:50,253 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-28 10:37:50,253 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-28 10:37:50,253 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-28 10:37:50,254 INFO L290 TraceCheckUtils]: 29: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume true; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:50,255 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-28 10:37:50,255 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-28 10:37:50,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:50,527 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-28 10:37:50,527 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-28 10:37:50,528 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-28 10:37:50,528 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-28 10:37:50,528 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-28 10:37:50,529 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-28 10:37:50,529 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-28 10:37:50,530 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-28 10:37:50,530 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-28 10:37:50,530 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-28 10:37:50,531 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-28 10:37:50,531 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-28 10:37:50,531 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-28 10:37:50,532 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-28 10:37:50,532 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-28 10:37:50,533 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-28 10:37:50,533 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-28 10:37:50,533 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-28 10:37:50,534 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-28 10:37:50,534 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-28 10:37:50,534 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-28 10:37:50,535 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-28 10:37:50,535 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-28 10:37:50,536 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-28 10:37:50,536 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-28 10:37:50,536 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-28 10:37:50,537 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-28 10:37:50,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume true; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-28 10:37:50,538 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-28 10:37:50,538 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-28 10:37:50,538 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-28 10:37:50,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {38988#true} assume true; {38988#true} is VALID [2022-04-28 10:37:50,538 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38988#true} {38988#true} #93#return; {38988#true} is VALID [2022-04-28 10:37:50,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {38988#true} call #t~ret7 := main(); {38988#true} is VALID [2022-04-28 10:37:50,538 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-28 10:37:50,538 INFO L290 TraceCheckUtils]: 6: Hoare triple {38988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {38988#true} is VALID [2022-04-28 10:37:50,539 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-28 10:37:50,539 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-28 10:37:50,539 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-28 10:37:50,539 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-28 10:37:50,540 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-28 10:37:50,540 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-28 10:37:50,541 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-28 10:37:50,541 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-28 10:37:50,541 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-28 10:37:50,542 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-28 10:37:50,542 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-28 10:37:50,542 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-28 10:37:50,543 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-28 10:37:50,543 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-28 10:37:50,544 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-28 10:37:50,544 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-28 10:37:50,544 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-28 10:37:50,545 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-28 10:37:50,545 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-28 10:37:50,545 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-28 10:37:50,546 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-28 10:37:50,546 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-28 10:37:50,547 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-28 10:37:50,547 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-28 10:37:50,547 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-28 10:37:50,548 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-28 10:37:50,548 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-28 10:37:50,548 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-28 10:37:50,549 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-28 10:37:50,549 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-28 10:37:50,549 INFO L290 TraceCheckUtils]: 37: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume true; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:50,550 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-28 10:37:50,551 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-28 10:37:50,551 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-28 10:37:50,551 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-28 10:37:50,551 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-28 10:37:50,552 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-28 10:37:50,552 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-28 10:37:50,552 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-28 10:37:50,553 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-28 10:37:50,553 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-28 10:37:50,553 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-28 10:37:50,554 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-28 10:37:50,554 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-28 10:37:50,555 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-28 10:37:50,555 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-28 10:37:50,555 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-28 10:37:50,556 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-28 10:37:50,556 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-28 10:37:50,556 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-28 10:37:50,557 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-28 10:37:50,557 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-28 10:37:50,557 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-28 10:37:50,558 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-28 10:37:50,558 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-28 10:37:50,559 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-28 10:37:50,559 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-28 10:37:50,559 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-28 10:37:50,560 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-28 10:37:50,560 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-28 10:37:50,560 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-28 10:37:50,561 INFO L290 TraceCheckUtils]: 68: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume true; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-28 10:37:50,561 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-28 10:37:50,561 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-28 10:37:50,561 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-28 10:37:50,562 INFO L290 TraceCheckUtils]: 72: Hoare triple {38989#false} ~cond := #in~cond; {38989#false} is VALID [2022-04-28 10:37:50,562 INFO L290 TraceCheckUtils]: 73: Hoare triple {38989#false} assume 0 == ~cond; {38989#false} is VALID [2022-04-28 10:37:50,562 INFO L290 TraceCheckUtils]: 74: Hoare triple {38989#false} assume !false; {38989#false} is VALID [2022-04-28 10:37:50,562 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-28 10:37:50,562 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:37:50,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1199672859] [2022-04-28 10:37:50,562 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1199672859] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:37:50,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [751775681] [2022-04-28 10:37:50,562 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:37:50,562 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:37:50,562 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:37:50,563 INFO L229 MonitoredProcess]: Starting monitored process 45 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:37:50,564 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Waiting until timeout for monitored process [2022-04-28 10:37:50,669 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 13 check-sat command(s) [2022-04-28 10:37:50,670 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:37:50,671 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 10:37:50,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:50,688 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:37:51,943 INFO L272 TraceCheckUtils]: 0: Hoare triple {38988#true} call ULTIMATE.init(); {38988#true} is VALID [2022-04-28 10:37:51,943 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-28 10:37:51,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {38988#true} assume true; {38988#true} is VALID [2022-04-28 10:37:51,944 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38988#true} {38988#true} #93#return; {38988#true} is VALID [2022-04-28 10:37:51,944 INFO L272 TraceCheckUtils]: 4: Hoare triple {38988#true} call #t~ret7 := main(); {38988#true} is VALID [2022-04-28 10:37:51,944 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-28 10:37:51,944 INFO L290 TraceCheckUtils]: 6: Hoare triple {38988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {38988#true} is VALID [2022-04-28 10:37:51,944 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-28 10:37:51,944 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-28 10:37:51,944 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-28 10:37:51,945 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-28 10:37:51,945 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-28 10:37:51,945 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-28 10:37:51,946 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-28 10:37:51,946 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-28 10:37:51,947 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-28 10:37:51,947 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-28 10:37:51,947 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-28 10:37:51,948 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-28 10:37:51,948 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-28 10:37:51,948 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-28 10:37:51,949 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-28 10:37:51,949 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-28 10:37:51,949 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-28 10:37:51,950 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-28 10:37:51,950 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-28 10:37:51,950 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-28 10:37:51,951 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-28 10:37:51,951 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-28 10:37:51,952 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-28 10:37:51,952 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-28 10:37:51,952 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-28 10:37:51,953 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-28 10:37:51,953 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-28 10:37:51,953 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-28 10:37:51,953 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-28 10:37:51,954 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-28 10:37:51,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume true; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:51,955 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-28 10:37:51,955 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-28 10:37:51,955 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-28 10:37:51,955 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-28 10:37:51,956 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-28 10:37:51,956 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-28 10:37:51,957 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-28 10:37:51,957 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-28 10:37:51,957 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-28 10:37:51,958 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-28 10:37:51,958 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-28 10:37:51,958 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-28 10:37:51,959 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-28 10:37:51,959 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-28 10:37:51,959 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-28 10:37:51,960 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-28 10:37:51,960 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-28 10:37:51,960 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-28 10:37:51,961 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-28 10:37:51,961 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-28 10:37:51,962 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-28 10:37:51,962 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-28 10:37:51,962 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-28 10:37:51,963 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-28 10:37:51,963 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-28 10:37:51,963 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-28 10:37:51,964 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-28 10:37:51,964 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-28 10:37:51,964 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-28 10:37:51,965 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-28 10:37:51,965 INFO L290 TraceCheckUtils]: 68: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume true; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-28 10:37:51,965 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-28 10:37:51,966 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-28 10:37:51,966 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-28 10:37:51,966 INFO L290 TraceCheckUtils]: 72: Hoare triple {38989#false} ~cond := #in~cond; {38989#false} is VALID [2022-04-28 10:37:51,966 INFO L290 TraceCheckUtils]: 73: Hoare triple {38989#false} assume 0 == ~cond; {38989#false} is VALID [2022-04-28 10:37:51,966 INFO L290 TraceCheckUtils]: 74: Hoare triple {38989#false} assume !false; {38989#false} is VALID [2022-04-28 10:37:51,966 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-28 10:37:51,966 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:37:56,217 INFO L290 TraceCheckUtils]: 74: Hoare triple {38989#false} assume !false; {38989#false} is VALID [2022-04-28 10:37:56,217 INFO L290 TraceCheckUtils]: 73: Hoare triple {38989#false} assume 0 == ~cond; {38989#false} is VALID [2022-04-28 10:37:56,217 INFO L290 TraceCheckUtils]: 72: Hoare triple {38989#false} ~cond := #in~cond; {38989#false} is VALID [2022-04-28 10:37:56,217 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-28 10:37:56,217 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-28 10:37:56,218 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-28 10:37:56,218 INFO L290 TraceCheckUtils]: 68: Hoare triple {39084#(<= |student_version_#in~w| 22)} assume true; {39084#(<= |student_version_#in~w| 22)} is VALID [2022-04-28 10:37:56,219 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-28 10:37:56,219 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-28 10:37:56,219 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-28 10:37:56,220 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-28 10:37:56,220 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-28 10:37:56,220 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-28 10:37:56,221 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-28 10:37:56,221 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-28 10:37:56,221 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-28 10:37:56,222 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-28 10:37:56,222 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-28 10:37:56,222 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-28 10:37:56,223 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-28 10:37:56,223 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-28 10:37:56,223 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-28 10:37:56,224 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-28 10:37:56,224 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-28 10:37:56,224 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-28 10:37:56,225 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-28 10:37:56,225 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-28 10:37:56,225 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-28 10:37:56,226 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-28 10:37:56,226 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-28 10:37:56,227 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-28 10:37:56,227 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-28 10:37:56,227 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-28 10:37:56,227 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-28 10:37:56,228 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-28 10:37:56,228 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-28 10:37:56,229 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-28 10:37:56,229 INFO L290 TraceCheckUtils]: 37: Hoare triple {39069#(<= 23 |correct_version_#in~w|)} assume true; {39069#(<= 23 |correct_version_#in~w|)} is VALID [2022-04-28 10:37:56,229 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-28 10:37:56,229 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-28 10:37:56,230 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-28 10:37:56,230 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-28 10:37:56,230 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-28 10:37:56,231 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-28 10:37:56,231 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-28 10:37:56,231 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-28 10:37:56,232 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-28 10:37:56,232 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-28 10:37:56,232 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-28 10:37:56,233 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-28 10:37:56,233 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-28 10:37:56,234 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-28 10:37:56,234 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-28 10:37:56,234 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-28 10:37:56,234 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-28 10:37:56,235 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-28 10:37:56,235 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-28 10:37:56,236 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-28 10:37:56,236 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-28 10:37:56,236 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-28 10:37:56,236 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-28 10:37:56,237 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-28 10:37:56,237 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-28 10:37:56,238 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-28 10:37:56,238 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-28 10:37:56,238 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-28 10:37:56,239 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-28 10:37:56,239 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-28 10:37:56,239 INFO L290 TraceCheckUtils]: 6: Hoare triple {38988#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {38988#true} is VALID [2022-04-28 10:37:56,239 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-28 10:37:56,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {38988#true} call #t~ret7 := main(); {38988#true} is VALID [2022-04-28 10:37:56,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38988#true} {38988#true} #93#return; {38988#true} is VALID [2022-04-28 10:37:56,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {38988#true} assume true; {38988#true} is VALID [2022-04-28 10:37:56,239 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-28 10:37:56,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {38988#true} call ULTIMATE.init(); {38988#true} is VALID [2022-04-28 10:37:56,239 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-28 10:37:56,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [751775681] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:37:56,239 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:37:56,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 31, 31] total 86 [2022-04-28 10:37:56,240 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:37:56,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [886346317] [2022-04-28 10:37:56,240 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [886346317] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:37:56,240 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:37:56,240 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-28 10:37:56,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1687435850] [2022-04-28 10:37:56,240 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:37:56,240 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-28 10:37:56,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:37:56,240 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-28 10:37:56,297 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-28 10:37:56,297 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-28 10:37:56,298 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:56,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-28 10:37:56,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1217, Invalid=6093, Unknown=0, NotChecked=0, Total=7310 [2022-04-28 10:37:56,299 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-28 10:37:58,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:58,498 INFO L93 Difference]: Finished difference Result 97 states and 100 transitions. [2022-04-28 10:37:58,498 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 10:37:58,498 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-28 10:37:58,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:37:58,498 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-28 10:37:58,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 92 transitions. [2022-04-28 10:37:58,499 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-28 10:37:58,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 92 transitions. [2022-04-28 10:37:58,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 92 transitions. [2022-04-28 10:37:58,570 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-28 10:37:58,572 INFO L225 Difference]: With dead ends: 97 [2022-04-28 10:37:58,572 INFO L226 Difference]: Without dead ends: 87 [2022-04-28 10:37:58,573 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 97 SyntacticMatches, 5 SemanticMatches, 113 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5830 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=2082, Invalid=11028, Unknown=0, NotChecked=0, Total=13110 [2022-04-28 10:37:58,573 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 91 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 605 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:37:58,573 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [92 Valid, 75 Invalid, 642 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 605 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:37:58,573 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-04-28 10:37:59,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 86. [2022-04-28 10:37:59,279 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:37:59,279 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-28 10:37:59,279 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-28 10:37:59,280 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-28 10:37:59,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:59,280 INFO L93 Difference]: Finished difference Result 87 states and 90 transitions. [2022-04-28 10:37:59,280 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 90 transitions. [2022-04-28 10:37:59,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:59,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:59,281 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-28 10:37:59,281 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-28 10:37:59,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:37:59,281 INFO L93 Difference]: Finished difference Result 87 states and 90 transitions. [2022-04-28 10:37:59,281 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 90 transitions. [2022-04-28 10:37:59,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:37:59,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:37:59,282 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:37:59,282 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:37:59,282 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-28 10:37:59,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 89 transitions. [2022-04-28 10:37:59,282 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 89 transitions. Word has length 75 [2022-04-28 10:37:59,282 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:37:59,283 INFO L495 AbstractCegarLoop]: Abstraction has 86 states and 89 transitions. [2022-04-28 10:37:59,283 INFO L496 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-28 10:37:59,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 89 transitions. [2022-04-28 10:37:59,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:37:59,432 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 89 transitions. [2022-04-28 10:37:59,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 10:37:59,433 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:37:59,433 INFO L195 NwaCegarLoop]: 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-28 10:37:59,453 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Forceful destruction successful, exit code 0 [2022-04-28 10:37:59,633 WARN L477 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-28 10:37:59,633 INFO L420 AbstractCegarLoop]: === Iteration 49 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:37:59,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:37:59,634 INFO L85 PathProgramCache]: Analyzing trace with hash 1179263863, now seen corresponding path program 43 times [2022-04-28 10:37:59,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:37:59,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1740542414] [2022-04-28 10:37:59,636 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:37:59,636 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:37:59,636 INFO L85 PathProgramCache]: Analyzing trace with hash 1179263863, now seen corresponding path program 44 times [2022-04-28 10:37:59,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:37:59,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2072469206] [2022-04-28 10:37:59,636 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:37:59,636 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:37:59,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:59,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:37:59,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:59,699 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-28 10:37:59,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {40184#true} assume true; {40184#true} is VALID [2022-04-28 10:37:59,699 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40184#true} {40184#true} #93#return; {40184#true} is VALID [2022-04-28 10:37:59,699 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:37:59,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:37:59,894 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-28 10:37:59,894 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-28 10:37:59,895 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-28 10:37:59,895 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-28 10:37:59,895 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-28 10:37:59,896 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-28 10:37:59,896 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-28 10:37:59,896 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-28 10:37:59,897 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-28 10:37:59,897 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-28 10:37:59,897 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-28 10:37:59,898 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-28 10:37:59,898 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-28 10:37:59,899 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-28 10:37:59,899 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-28 10:37:59,899 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-28 10:37:59,900 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-28 10:37:59,900 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-28 10:37:59,900 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-28 10:37:59,901 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-28 10:37:59,901 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-28 10:37:59,901 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-28 10:37:59,902 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-28 10:37:59,902 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-28 10:37:59,902 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-28 10:37:59,903 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-28 10:37:59,903 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-28 10:37:59,904 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-28 10:37:59,904 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-28 10:37:59,904 INFO L290 TraceCheckUtils]: 29: Hoare triple {40268#(<= |correct_version_#in~w| 23)} assume true; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-28 10:37:59,905 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-28 10:37:59,905 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-28 10:37:59,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:00,105 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-28 10:38:00,105 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-28 10:38:00,105 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-28 10:38:00,106 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-28 10:38:00,106 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-28 10:38:00,106 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-28 10:38:00,107 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-28 10:38:00,107 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-28 10:38:00,107 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-28 10:38:00,108 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-28 10:38:00,108 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-28 10:38:00,108 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-28 10:38:00,109 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-28 10:38:00,109 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-28 10:38:00,109 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-28 10:38:00,110 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-28 10:38:00,110 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-28 10:38:00,111 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-28 10:38:00,111 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-28 10:38:00,111 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-28 10:38:00,112 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-28 10:38:00,112 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-28 10:38:00,112 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-28 10:38:00,113 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-28 10:38:00,113 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-28 10:38:00,113 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-28 10:38:00,114 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-28 10:38:00,114 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-28 10:38:00,114 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-28 10:38:00,114 INFO L290 TraceCheckUtils]: 29: Hoare triple {40283#(<= 24 |student_version_#in~w|)} assume true; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-28 10:38:00,115 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-28 10:38:00,116 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-28 10:38:00,116 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-28 10:38:00,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {40184#true} assume true; {40184#true} is VALID [2022-04-28 10:38:00,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40184#true} {40184#true} #93#return; {40184#true} is VALID [2022-04-28 10:38:00,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {40184#true} call #t~ret7 := main(); {40184#true} is VALID [2022-04-28 10:38:00,116 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-28 10:38:00,116 INFO L290 TraceCheckUtils]: 6: Hoare triple {40184#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {40184#true} is VALID [2022-04-28 10:38:00,116 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-28 10:38:00,116 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-28 10:38:00,117 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-28 10:38:00,117 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-28 10:38:00,117 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-28 10:38:00,118 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-28 10:38:00,118 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-28 10:38:00,118 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-28 10:38:00,119 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-28 10:38:00,119 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-28 10:38:00,119 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-28 10:38:00,120 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-28 10:38:00,120 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-28 10:38:00,120 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-28 10:38:00,121 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-28 10:38:00,121 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-28 10:38:00,121 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-28 10:38:00,122 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-28 10:38:00,122 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-28 10:38:00,122 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-28 10:38:00,123 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-28 10:38:00,123 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-28 10:38:00,123 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-28 10:38:00,124 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-28 10:38:00,124 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-28 10:38:00,124 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-28 10:38:00,125 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-28 10:38:00,125 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-28 10:38:00,126 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-28 10:38:00,126 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-28 10:38:00,126 INFO L290 TraceCheckUtils]: 37: Hoare triple {40268#(<= |correct_version_#in~w| 23)} assume true; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-28 10:38:00,127 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-28 10:38:00,127 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-28 10:38:00,127 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-28 10:38:00,127 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-28 10:38:00,128 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-28 10:38:00,128 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-28 10:38:00,129 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-28 10:38:00,129 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-28 10:38:00,129 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-28 10:38:00,130 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-28 10:38:00,130 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-28 10:38:00,130 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-28 10:38:00,131 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-28 10:38:00,131 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-28 10:38:00,131 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-28 10:38:00,132 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-28 10:38:00,132 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-28 10:38:00,132 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-28 10:38:00,133 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-28 10:38:00,133 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-28 10:38:00,134 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-28 10:38:00,134 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-28 10:38:00,134 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-28 10:38:00,135 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-28 10:38:00,135 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-28 10:38:00,136 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-28 10:38:00,136 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-28 10:38:00,136 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-28 10:38:00,137 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-28 10:38:00,137 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-28 10:38:00,137 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-28 10:38:00,138 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-28 10:38:00,138 INFO L290 TraceCheckUtils]: 70: Hoare triple {40283#(<= 24 |student_version_#in~w|)} assume true; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-28 10:38:00,139 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-28 10:38:00,139 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-28 10:38:00,139 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-28 10:38:00,139 INFO L290 TraceCheckUtils]: 74: Hoare triple {40185#false} ~cond := #in~cond; {40185#false} is VALID [2022-04-28 10:38:00,139 INFO L290 TraceCheckUtils]: 75: Hoare triple {40185#false} assume 0 == ~cond; {40185#false} is VALID [2022-04-28 10:38:00,139 INFO L290 TraceCheckUtils]: 76: Hoare triple {40185#false} assume !false; {40185#false} is VALID [2022-04-28 10:38:00,139 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-28 10:38:00,139 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:00,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2072469206] [2022-04-28 10:38:00,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2072469206] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:00,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2067194739] [2022-04-28 10:38:00,140 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:38:00,140 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:00,140 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:00,141 INFO L229 MonitoredProcess]: Starting monitored process 46 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:00,141 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Waiting until timeout for monitored process [2022-04-28 10:38:00,253 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:38:00,254 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:00,254 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 10:38:00,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:00,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:01,478 INFO L272 TraceCheckUtils]: 0: Hoare triple {40184#true} call ULTIMATE.init(); {40184#true} is VALID [2022-04-28 10:38:01,478 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-28 10:38:01,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {40184#true} assume true; {40184#true} is VALID [2022-04-28 10:38:01,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40184#true} {40184#true} #93#return; {40184#true} is VALID [2022-04-28 10:38:01,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {40184#true} call #t~ret7 := main(); {40184#true} is VALID [2022-04-28 10:38:01,478 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-28 10:38:01,478 INFO L290 TraceCheckUtils]: 6: Hoare triple {40184#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {40184#true} is VALID [2022-04-28 10:38:01,478 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-28 10:38:01,479 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-28 10:38:01,479 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-28 10:38:01,479 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-28 10:38:01,480 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-28 10:38:01,480 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-28 10:38:01,481 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-28 10:38:01,481 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-28 10:38:01,481 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-28 10:38:01,482 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-28 10:38:01,482 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-28 10:38:01,483 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-28 10:38:01,483 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-28 10:38:01,483 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-28 10:38:01,484 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-28 10:38:01,484 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-28 10:38:01,485 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-28 10:38:01,485 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-28 10:38:01,485 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-28 10:38:01,486 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-28 10:38:01,486 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-28 10:38:01,486 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-28 10:38:01,487 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-28 10:38:01,487 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-28 10:38:01,487 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-28 10:38:01,488 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-28 10:38:01,488 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-28 10:38:01,488 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-28 10:38:01,489 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-28 10:38:01,489 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-28 10:38:01,489 INFO L290 TraceCheckUtils]: 37: Hoare triple {40268#(<= |correct_version_#in~w| 23)} assume true; {40268#(<= |correct_version_#in~w| 23)} is VALID [2022-04-28 10:38:01,490 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-28 10:38:01,491 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-28 10:38:01,491 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-28 10:38:01,491 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-28 10:38:01,491 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-28 10:38:01,492 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-28 10:38:01,492 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-28 10:38:01,492 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-28 10:38:01,493 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-28 10:38:01,493 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-28 10:38:01,494 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-28 10:38:01,494 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-28 10:38:01,494 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-28 10:38:01,495 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-28 10:38:01,495 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-28 10:38:01,495 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-28 10:38:01,496 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-28 10:38:01,496 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-28 10:38:01,497 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-28 10:38:01,497 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-28 10:38:01,497 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-28 10:38:01,498 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-28 10:38:01,498 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-28 10:38:01,498 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-28 10:38:01,499 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-28 10:38:01,499 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-28 10:38:01,500 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-28 10:38:01,500 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-28 10:38:01,500 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-28 10:38:01,501 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-28 10:38:01,501 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-28 10:38:01,501 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-28 10:38:01,501 INFO L290 TraceCheckUtils]: 70: Hoare triple {40283#(<= 24 |student_version_#in~w|)} assume true; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-28 10:38:01,502 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-28 10:38:01,502 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-28 10:38:01,502 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-28 10:38:01,502 INFO L290 TraceCheckUtils]: 74: Hoare triple {40185#false} ~cond := #in~cond; {40185#false} is VALID [2022-04-28 10:38:01,502 INFO L290 TraceCheckUtils]: 75: Hoare triple {40185#false} assume 0 == ~cond; {40185#false} is VALID [2022-04-28 10:38:01,503 INFO L290 TraceCheckUtils]: 76: Hoare triple {40185#false} assume !false; {40185#false} is VALID [2022-04-28 10:38:01,503 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-28 10:38:01,503 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:38:09,188 INFO L290 TraceCheckUtils]: 76: Hoare triple {40185#false} assume !false; {40185#false} is VALID [2022-04-28 10:38:09,189 INFO L290 TraceCheckUtils]: 75: Hoare triple {40185#false} assume 0 == ~cond; {40185#false} is VALID [2022-04-28 10:38:09,189 INFO L290 TraceCheckUtils]: 74: Hoare triple {40185#false} ~cond := #in~cond; {40185#false} is VALID [2022-04-28 10:38:09,189 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-28 10:38:09,189 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-28 10:38:09,190 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-28 10:38:09,190 INFO L290 TraceCheckUtils]: 70: Hoare triple {40283#(<= 24 |student_version_#in~w|)} assume true; {40283#(<= 24 |student_version_#in~w|)} is VALID [2022-04-28 10:38:09,190 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-28 10:38:09,191 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-28 10:38:09,191 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-28 10:38:09,191 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-28 10:38:09,192 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-28 10:38:09,192 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-28 10:38:09,192 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-28 10:38:09,193 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-28 10:38:09,193 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-28 10:38:09,193 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-28 10:38:09,194 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-28 10:38:09,194 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-28 10:38:09,194 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-28 10:38:09,195 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-28 10:38:09,195 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-28 10:38:09,196 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-28 10:38:09,196 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-28 10:38:09,196 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-28 10:38:09,197 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-28 10:38:09,197 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-28 10:38:09,197 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-28 10:38:09,198 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-28 10:38:09,198 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-28 10:38:09,199 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-28 10:38:09,199 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-28 10:38:09,199 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-28 10:38:09,200 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-28 10:38:09,200 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-28 10:38:09,200 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-28 10:38:09,200 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-28 10:38:09,201 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-28 10:38:09,201 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-28 10:38:09,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-28 10:38:09,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-28 10:38:09,202 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-28 10:38:09,203 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-28 10:38:09,203 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-28 10:38:09,203 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-28 10:38:09,204 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-28 10:38:09,204 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-28 10:38:09,204 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-28 10:38:09,205 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-28 10:38:09,205 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-28 10:38:09,205 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-28 10:38:09,206 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-28 10:38:09,206 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-28 10:38:09,207 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-28 10:38:09,207 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-28 10:38:09,207 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-28 10:38:09,208 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-28 10:38:09,208 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-28 10:38:09,208 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-28 10:38:09,209 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-28 10:38:09,209 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-28 10:38:09,210 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-28 10:38:09,210 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-28 10:38:09,210 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-28 10:38:09,211 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-28 10:38:09,211 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-28 10:38:09,211 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-28 10:38:09,212 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-28 10:38:09,212 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-28 10:38:09,212 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-28 10:38:09,212 INFO L290 TraceCheckUtils]: 6: Hoare triple {40184#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {40184#true} is VALID [2022-04-28 10:38:09,212 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-28 10:38:09,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {40184#true} call #t~ret7 := main(); {40184#true} is VALID [2022-04-28 10:38:09,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40184#true} {40184#true} #93#return; {40184#true} is VALID [2022-04-28 10:38:09,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {40184#true} assume true; {40184#true} is VALID [2022-04-28 10:38:09,212 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-28 10:38:09,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {40184#true} call ULTIMATE.init(); {40184#true} is VALID [2022-04-28 10:38:09,213 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-28 10:38:09,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2067194739] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:38:09,213 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:38:09,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 34, 34] total 93 [2022-04-28 10:38:09,213 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:38:09,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1740542414] [2022-04-28 10:38:09,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1740542414] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:38:09,213 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:38:09,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-28 10:38:09,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1487488958] [2022-04-28 10:38:09,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:38:09,214 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-28 10:38:09,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:38:09,214 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-28 10:38:09,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:09,260 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-28 10:38:09,260 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:09,260 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-28 10:38:09,261 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1373, Invalid=7183, Unknown=0, NotChecked=0, Total=8556 [2022-04-28 10:38:09,261 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-28 10:38:11,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:11,669 INFO L93 Difference]: Finished difference Result 106 states and 113 transitions. [2022-04-28 10:38:11,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-28 10:38:11,669 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-28 10:38:11,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:38:11,669 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-28 10:38:11,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 108 transitions. [2022-04-28 10:38:11,670 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-28 10:38:11,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 108 transitions. [2022-04-28 10:38:11,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 108 transitions. [2022-04-28 10:38:11,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:11,757 INFO L225 Difference]: With dead ends: 106 [2022-04-28 10:38:11,757 INFO L226 Difference]: Without dead ends: 95 [2022-04-28 10:38:11,758 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 95 SyntacticMatches, 5 SemanticMatches, 123 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6886 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=2372, Invalid=13128, Unknown=0, NotChecked=0, Total=15500 [2022-04-28 10:38:11,758 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 93 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 577 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:38:11,758 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 72 Invalid, 618 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 577 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:38:11,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-28 10:38:12,496 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 89. [2022-04-28 10:38:12,496 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:38:12,496 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-28 10:38:12,496 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-28 10:38:12,496 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-28 10:38:12,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:12,497 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-04-28 10:38:12,497 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-04-28 10:38:12,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:12,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:12,498 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-28 10:38:12,498 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-28 10:38:12,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:12,498 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-04-28 10:38:12,499 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-04-28 10:38:12,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:12,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:12,499 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:38:12,499 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:38:12,499 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-28 10:38:12,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 93 transitions. [2022-04-28 10:38:12,506 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 93 transitions. Word has length 77 [2022-04-28 10:38:12,506 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:38:12,506 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 93 transitions. [2022-04-28 10:38:12,506 INFO L496 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-28 10:38:12,506 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 93 transitions. [2022-04-28 10:38:12,700 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-28 10:38:12,700 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-04-28 10:38:12,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 10:38:12,700 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:38:12,701 INFO L195 NwaCegarLoop]: 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-28 10:38:12,720 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-28 10:38:12,901 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 46 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable48 [2022-04-28 10:38:12,901 INFO L420 AbstractCegarLoop]: === Iteration 50 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:38:12,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:38:12,901 INFO L85 PathProgramCache]: Analyzing trace with hash 747351987, now seen corresponding path program 43 times [2022-04-28 10:38:12,902 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:12,902 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1379663756] [2022-04-28 10:38:12,904 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:38:12,904 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:38:12,904 INFO L85 PathProgramCache]: Analyzing trace with hash 747351987, now seen corresponding path program 44 times [2022-04-28 10:38:12,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:38:12,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1108686559] [2022-04-28 10:38:12,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:38:12,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:38:12,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:12,940 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:38:12,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:12,943 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-28 10:38:12,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {41447#true} assume true; {41447#true} is VALID [2022-04-28 10:38:12,943 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41447#true} {41447#true} #93#return; {41447#true} is VALID [2022-04-28 10:38:12,943 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:38:12,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:13,135 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-28 10:38:13,135 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-28 10:38:13,135 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-28 10:38:13,136 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-28 10:38:13,136 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-28 10:38:13,137 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-28 10:38:13,137 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-28 10:38:13,137 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-28 10:38:13,138 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-28 10:38:13,138 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-28 10:38:13,138 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-28 10:38:13,139 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-28 10:38:13,139 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-28 10:38:13,140 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-28 10:38:13,140 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-28 10:38:13,140 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-28 10:38:13,141 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-28 10:38:13,141 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-28 10:38:13,141 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-28 10:38:13,142 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-28 10:38:13,142 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-28 10:38:13,143 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-28 10:38:13,143 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-28 10:38:13,143 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-28 10:38:13,144 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-28 10:38:13,144 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-28 10:38:13,144 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-28 10:38:13,145 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-28 10:38:13,145 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-28 10:38:13,145 INFO L290 TraceCheckUtils]: 29: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} assume true; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-28 10:38:13,146 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-28 10:38:13,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-28 10:38:13,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:13,453 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-28 10:38:13,454 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-28 10:38:13,454 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-28 10:38:13,454 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-28 10:38:13,455 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-28 10:38:13,455 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-28 10:38:13,455 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-28 10:38:13,456 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-28 10:38:13,456 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-28 10:38:13,456 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-28 10:38:13,457 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-28 10:38:13,457 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-28 10:38:13,457 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-28 10:38:13,458 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-28 10:38:13,458 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-28 10:38:13,458 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-28 10:38:13,459 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-28 10:38:13,459 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-28 10:38:13,460 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-28 10:38:13,460 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-28 10:38:13,460 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-28 10:38:13,461 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-28 10:38:13,461 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-28 10:38:13,462 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-28 10:38:13,462 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-28 10:38:13,462 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-28 10:38:13,463 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-28 10:38:13,463 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-28 10:38:13,464 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-28 10:38:13,464 INFO L290 TraceCheckUtils]: 29: Hoare triple {41546#(<= |student_version_#in~w| 23)} assume true; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-28 10:38:13,465 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-28 10:38:13,465 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-28 10:38:13,465 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-28 10:38:13,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {41447#true} assume true; {41447#true} is VALID [2022-04-28 10:38:13,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41447#true} {41447#true} #93#return; {41447#true} is VALID [2022-04-28 10:38:13,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {41447#true} call #t~ret7 := main(); {41447#true} is VALID [2022-04-28 10:38:13,466 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-28 10:38:13,466 INFO L290 TraceCheckUtils]: 6: Hoare triple {41447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {41447#true} is VALID [2022-04-28 10:38:13,466 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-28 10:38:13,466 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-28 10:38:13,466 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-28 10:38:13,467 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-28 10:38:13,467 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-28 10:38:13,467 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-28 10:38:13,468 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-28 10:38:13,468 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-28 10:38:13,469 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-28 10:38:13,469 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-28 10:38:13,469 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-28 10:38:13,470 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-28 10:38:13,470 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-28 10:38:13,471 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-28 10:38:13,471 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-28 10:38:13,471 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-28 10:38:13,472 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-28 10:38:13,472 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-28 10:38:13,472 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-28 10:38:13,473 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-28 10:38:13,473 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-28 10:38:13,473 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-28 10:38:13,474 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-28 10:38:13,474 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-28 10:38:13,475 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-28 10:38:13,475 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-28 10:38:13,475 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-28 10:38:13,476 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-28 10:38:13,476 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-28 10:38:13,476 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-28 10:38:13,476 INFO L290 TraceCheckUtils]: 37: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} assume true; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-28 10:38:13,477 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-28 10:38:13,477 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-28 10:38:13,478 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-28 10:38:13,478 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-28 10:38:13,478 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-28 10:38:13,478 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-28 10:38:13,479 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-28 10:38:13,479 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-28 10:38:13,479 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-28 10:38:13,480 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-28 10:38:13,480 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-28 10:38:13,480 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-28 10:38:13,481 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-28 10:38:13,481 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-28 10:38:13,482 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-28 10:38:13,482 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-28 10:38:13,482 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-28 10:38:13,483 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-28 10:38:13,483 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-28 10:38:13,483 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-28 10:38:13,484 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-28 10:38:13,484 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-28 10:38:13,485 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-28 10:38:13,485 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-28 10:38:13,485 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-28 10:38:13,486 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-28 10:38:13,486 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-28 10:38:13,487 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-28 10:38:13,487 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-28 10:38:13,487 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-28 10:38:13,488 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-28 10:38:13,488 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-28 10:38:13,488 INFO L290 TraceCheckUtils]: 70: Hoare triple {41546#(<= |student_version_#in~w| 23)} assume true; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-28 10:38:13,489 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-28 10:38:13,489 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-28 10:38:13,489 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-28 10:38:13,489 INFO L290 TraceCheckUtils]: 74: Hoare triple {41448#false} ~cond := #in~cond; {41448#false} is VALID [2022-04-28 10:38:13,490 INFO L290 TraceCheckUtils]: 75: Hoare triple {41448#false} assume 0 == ~cond; {41448#false} is VALID [2022-04-28 10:38:13,490 INFO L290 TraceCheckUtils]: 76: Hoare triple {41448#false} assume !false; {41448#false} is VALID [2022-04-28 10:38:13,490 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-28 10:38:13,490 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:13,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1108686559] [2022-04-28 10:38:13,490 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1108686559] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:13,490 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1307605835] [2022-04-28 10:38:13,490 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:38:13,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:13,491 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:13,492 INFO L229 MonitoredProcess]: Starting monitored process 47 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:13,493 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Waiting until timeout for monitored process [2022-04-28 10:38:13,609 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:38:13,610 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:13,611 INFO L263 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 10:38:13,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:13,630 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:15,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {41447#true} call ULTIMATE.init(); {41447#true} is VALID [2022-04-28 10:38:15,041 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-28 10:38:15,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {41447#true} assume true; {41447#true} is VALID [2022-04-28 10:38:15,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41447#true} {41447#true} #93#return; {41447#true} is VALID [2022-04-28 10:38:15,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {41447#true} call #t~ret7 := main(); {41447#true} is VALID [2022-04-28 10:38:15,041 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-28 10:38:15,041 INFO L290 TraceCheckUtils]: 6: Hoare triple {41447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {41447#true} is VALID [2022-04-28 10:38:15,041 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-28 10:38:15,041 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-28 10:38:15,041 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-28 10:38:15,042 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-28 10:38:15,042 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-28 10:38:15,043 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-28 10:38:15,043 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-28 10:38:15,043 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-28 10:38:15,044 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-28 10:38:15,044 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-28 10:38:15,044 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-28 10:38:15,045 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-28 10:38:15,045 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-28 10:38:15,045 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-28 10:38:15,046 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-28 10:38:15,046 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-28 10:38:15,046 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-28 10:38:15,047 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-28 10:38:15,047 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-28 10:38:15,047 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-28 10:38:15,048 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-28 10:38:15,048 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-28 10:38:15,049 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-28 10:38:15,049 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-28 10:38:15,049 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-28 10:38:15,050 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-28 10:38:15,050 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-28 10:38:15,050 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-28 10:38:15,051 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-28 10:38:15,051 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-28 10:38:15,051 INFO L290 TraceCheckUtils]: 37: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} assume true; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-28 10:38:15,052 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-28 10:38:15,052 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-28 10:38:15,052 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-28 10:38:15,053 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-28 10:38:15,053 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-28 10:38:15,053 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-28 10:38:15,054 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-28 10:38:15,054 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-28 10:38:15,054 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-28 10:38:15,055 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-28 10:38:15,055 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-28 10:38:15,055 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-28 10:38:15,056 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-28 10:38:15,056 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-28 10:38:15,056 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-28 10:38:15,057 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-28 10:38:15,057 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-28 10:38:15,057 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-28 10:38:15,058 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-28 10:38:15,058 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-28 10:38:15,059 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-28 10:38:15,059 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-28 10:38:15,059 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-28 10:38:15,060 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-28 10:38:15,060 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-28 10:38:15,060 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-28 10:38:15,061 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-28 10:38:15,061 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-28 10:38:15,061 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-28 10:38:15,062 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-28 10:38:15,062 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-28 10:38:15,062 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-28 10:38:15,063 INFO L290 TraceCheckUtils]: 70: Hoare triple {41546#(<= |student_version_#in~w| 23)} assume true; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-28 10:38:15,063 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-28 10:38:15,063 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-28 10:38:15,063 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-28 10:38:15,063 INFO L290 TraceCheckUtils]: 74: Hoare triple {41448#false} ~cond := #in~cond; {41448#false} is VALID [2022-04-28 10:38:15,063 INFO L290 TraceCheckUtils]: 75: Hoare triple {41448#false} assume 0 == ~cond; {41448#false} is VALID [2022-04-28 10:38:15,063 INFO L290 TraceCheckUtils]: 76: Hoare triple {41448#false} assume !false; {41448#false} is VALID [2022-04-28 10:38:15,064 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-28 10:38:15,064 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:38:22,156 INFO L290 TraceCheckUtils]: 76: Hoare triple {41448#false} assume !false; {41448#false} is VALID [2022-04-28 10:38:22,156 INFO L290 TraceCheckUtils]: 75: Hoare triple {41448#false} assume 0 == ~cond; {41448#false} is VALID [2022-04-28 10:38:22,156 INFO L290 TraceCheckUtils]: 74: Hoare triple {41448#false} ~cond := #in~cond; {41448#false} is VALID [2022-04-28 10:38:22,156 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-28 10:38:22,157 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-28 10:38:22,157 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-28 10:38:22,158 INFO L290 TraceCheckUtils]: 70: Hoare triple {41546#(<= |student_version_#in~w| 23)} assume true; {41546#(<= |student_version_#in~w| 23)} is VALID [2022-04-28 10:38:22,158 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-28 10:38:22,158 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-28 10:38:22,158 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-28 10:38:22,159 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-28 10:38:22,159 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-28 10:38:22,160 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-28 10:38:22,160 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-28 10:38:22,160 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-28 10:38:22,161 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-28 10:38:22,161 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-28 10:38:22,161 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-28 10:38:22,162 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-28 10:38:22,162 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-28 10:38:22,162 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-28 10:38:22,163 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-28 10:38:22,163 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-28 10:38:22,163 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-28 10:38:22,164 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-28 10:38:22,164 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-28 10:38:22,164 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-28 10:38:22,165 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-28 10:38:22,165 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-28 10:38:22,165 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-28 10:38:22,166 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-28 10:38:22,166 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-28 10:38:22,167 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-28 10:38:22,167 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-28 10:38:22,167 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-28 10:38:22,168 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-28 10:38:22,168 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-28 10:38:22,168 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-28 10:38:22,169 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-28 10:38:22,169 INFO L290 TraceCheckUtils]: 37: Hoare triple {41530#(<= 24 |correct_version_#in~w|)} assume true; {41530#(<= 24 |correct_version_#in~w|)} is VALID [2022-04-28 10:38:22,170 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-28 10:38:22,170 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-28 10:38:22,170 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-28 10:38:22,171 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-28 10:38:22,171 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-28 10:38:22,172 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-28 10:38:22,172 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-28 10:38:22,172 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-28 10:38:22,173 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-28 10:38:22,173 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-28 10:38:22,173 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-28 10:38:22,174 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-28 10:38:22,174 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-28 10:38:22,174 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-28 10:38:22,175 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-28 10:38:22,175 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-28 10:38:22,175 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-28 10:38:22,176 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-28 10:38:22,176 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-28 10:38:22,177 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-28 10:38:22,177 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-28 10:38:22,177 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-28 10:38:22,177 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-28 10:38:22,178 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-28 10:38:22,178 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-28 10:38:22,179 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-28 10:38:22,179 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-28 10:38:22,179 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-28 10:38:22,180 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-28 10:38:22,180 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-28 10:38:22,180 INFO L290 TraceCheckUtils]: 6: Hoare triple {41447#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {41447#true} is VALID [2022-04-28 10:38:22,180 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-28 10:38:22,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {41447#true} call #t~ret7 := main(); {41447#true} is VALID [2022-04-28 10:38:22,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41447#true} {41447#true} #93#return; {41447#true} is VALID [2022-04-28 10:38:22,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {41447#true} assume true; {41447#true} is VALID [2022-04-28 10:38:22,180 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-28 10:38:22,180 INFO L272 TraceCheckUtils]: 0: Hoare triple {41447#true} call ULTIMATE.init(); {41447#true} is VALID [2022-04-28 10:38:22,180 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-28 10:38:22,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1307605835] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:38:22,180 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:38:22,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [35, 34, 34] total 93 [2022-04-28 10:38:22,181 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:38:22,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1379663756] [2022-04-28 10:38:22,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1379663756] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:38:22,181 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:38:22,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-28 10:38:22,181 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1057660042] [2022-04-28 10:38:22,181 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:38:22,182 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-28 10:38:22,182 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:38:22,182 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-28 10:38:22,228 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:22,228 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-28 10:38:22,228 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:22,229 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-28 10:38:22,229 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1373, Invalid=7183, Unknown=0, NotChecked=0, Total=8556 [2022-04-28 10:38:22,229 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-28 10:38:24,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:24,645 INFO L93 Difference]: Finished difference Result 101 states and 106 transitions. [2022-04-28 10:38:24,645 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-28 10:38:24,645 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-28 10:38:24,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:38:24,645 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-28 10:38:24,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 101 transitions. [2022-04-28 10:38:24,646 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-28 10:38:24,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 101 transitions. [2022-04-28 10:38:24,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 101 transitions. [2022-04-28 10:38:24,740 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-28 10:38:24,741 INFO L225 Difference]: With dead ends: 101 [2022-04-28 10:38:24,741 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 10:38:24,742 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 95 SyntacticMatches, 5 SemanticMatches, 123 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6899 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=2372, Invalid=13128, Unknown=0, NotChecked=0, Total=15500 [2022-04-28 10:38:24,742 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 98 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 530 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:38:24,742 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [99 Valid, 65 Invalid, 573 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 530 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:38:24,743 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 10:38:25,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-04-28 10:38:25,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:38:25,564 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-28 10:38:25,564 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-28 10:38:25,564 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-28 10:38:25,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:25,565 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2022-04-28 10:38:25,565 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-04-28 10:38:25,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:25,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:25,565 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-28 10:38:25,566 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-28 10:38:25,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:25,566 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2022-04-28 10:38:25,566 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-04-28 10:38:25,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:25,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:25,566 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:38:25,566 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:38:25,567 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-28 10:38:25,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 97 transitions. [2022-04-28 10:38:25,567 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 97 transitions. Word has length 77 [2022-04-28 10:38:25,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:38:25,568 INFO L495 AbstractCegarLoop]: Abstraction has 92 states and 97 transitions. [2022-04-28 10:38:25,568 INFO L496 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-28 10:38:25,568 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 97 transitions. [2022-04-28 10:38:25,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:25,753 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 97 transitions. [2022-04-28 10:38:25,753 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 10:38:25,753 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:38:25,753 INFO L195 NwaCegarLoop]: 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-28 10:38:25,769 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Forceful destruction successful, exit code 0 [2022-04-28 10:38:25,953 WARN L477 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-28 10:38:25,954 INFO L420 AbstractCegarLoop]: === Iteration 51 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:38:25,954 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:38:25,954 INFO L85 PathProgramCache]: Analyzing trace with hash -781499979, now seen corresponding path program 45 times [2022-04-28 10:38:25,954 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:25,954 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [467875457] [2022-04-28 10:38:25,956 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:38:25,956 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:38:25,956 INFO L85 PathProgramCache]: Analyzing trace with hash -781499979, now seen corresponding path program 46 times [2022-04-28 10:38:25,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:38:25,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1703297469] [2022-04-28 10:38:25,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:38:25,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:38:25,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:26,002 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:38:26,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:26,004 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-28 10:38:26,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {42700#true} assume true; {42700#true} is VALID [2022-04-28 10:38:26,004 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42700#true} {42700#true} #93#return; {42700#true} is VALID [2022-04-28 10:38:26,005 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:38:26,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:26,182 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-28 10:38:26,183 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-28 10:38:26,183 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-28 10:38:26,184 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-28 10:38:26,184 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-28 10:38:26,184 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-28 10:38:26,185 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-28 10:38:26,185 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-28 10:38:26,185 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-28 10:38:26,186 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-28 10:38:26,186 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-28 10:38:26,186 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-28 10:38:26,187 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-28 10:38:26,187 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-28 10:38:26,187 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-28 10:38:26,188 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-28 10:38:26,188 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-28 10:38:26,189 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-28 10:38:26,189 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-28 10:38:26,189 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-28 10:38:26,190 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-28 10:38:26,190 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-28 10:38:26,190 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-28 10:38:26,191 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-28 10:38:26,191 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-28 10:38:26,191 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-28 10:38:26,192 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-28 10:38:26,192 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-28 10:38:26,192 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-28 10:38:26,192 INFO L290 TraceCheckUtils]: 29: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume true; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-28 10:38:26,193 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-28 10:38:26,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 40 [2022-04-28 10:38:26,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:26,415 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-28 10:38:26,416 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-28 10:38:26,416 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-28 10:38:26,417 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-28 10:38:26,417 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-28 10:38:26,417 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-28 10:38:26,418 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-28 10:38:26,418 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-28 10:38:26,418 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-28 10:38:26,419 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-28 10:38:26,419 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-28 10:38:26,419 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-28 10:38:26,420 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-28 10:38:26,420 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-28 10:38:26,420 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-28 10:38:26,421 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-28 10:38:26,421 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-28 10:38:26,421 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-28 10:38:26,422 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-28 10:38:26,422 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-28 10:38:26,422 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-28 10:38:26,423 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-28 10:38:26,423 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-28 10:38:26,424 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-28 10:38:26,424 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-28 10:38:26,424 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-28 10:38:26,425 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-28 10:38:26,425 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-28 10:38:26,425 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-28 10:38:26,426 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-28 10:38:26,426 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-28 10:38:26,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume true; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-28 10:38:26,427 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-28 10:38:26,427 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-28 10:38:26,427 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-28 10:38:26,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {42700#true} assume true; {42700#true} is VALID [2022-04-28 10:38:26,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42700#true} {42700#true} #93#return; {42700#true} is VALID [2022-04-28 10:38:26,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {42700#true} call #t~ret7 := main(); {42700#true} is VALID [2022-04-28 10:38:26,428 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-28 10:38:26,428 INFO L290 TraceCheckUtils]: 6: Hoare triple {42700#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {42700#true} is VALID [2022-04-28 10:38:26,428 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-28 10:38:26,428 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-28 10:38:26,428 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-28 10:38:26,429 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-28 10:38:26,429 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-28 10:38:26,429 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-28 10:38:26,430 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-28 10:38:26,430 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-28 10:38:26,430 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-28 10:38:26,431 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-28 10:38:26,431 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-28 10:38:26,431 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-28 10:38:26,432 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-28 10:38:26,432 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-28 10:38:26,432 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-28 10:38:26,433 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-28 10:38:26,433 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-28 10:38:26,433 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-28 10:38:26,434 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-28 10:38:26,434 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-28 10:38:26,434 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-28 10:38:26,435 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-28 10:38:26,435 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-28 10:38:26,435 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-28 10:38:26,436 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-28 10:38:26,436 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-28 10:38:26,437 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-28 10:38:26,437 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-28 10:38:26,437 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-28 10:38:26,437 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-28 10:38:26,438 INFO L290 TraceCheckUtils]: 37: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume true; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-28 10:38:26,438 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-28 10:38:26,439 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-28 10:38:26,439 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-28 10:38:26,439 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-28 10:38:26,439 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-28 10:38:26,440 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-28 10:38:26,440 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-28 10:38:26,440 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-28 10:38:26,441 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-28 10:38:26,441 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-28 10:38:26,442 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-28 10:38:26,442 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-28 10:38:26,442 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-28 10:38:26,442 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-28 10:38:26,443 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-28 10:38:26,443 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-28 10:38:26,444 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-28 10:38:26,444 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-28 10:38:26,444 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-28 10:38:26,445 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-28 10:38:26,445 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-28 10:38:26,445 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-28 10:38:26,446 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-28 10:38:26,446 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-28 10:38:26,446 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-28 10:38:26,447 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-28 10:38:26,447 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-28 10:38:26,447 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-28 10:38:26,448 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-28 10:38:26,448 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-28 10:38:26,448 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-28 10:38:26,449 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-28 10:38:26,449 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-28 10:38:26,449 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-28 10:38:26,449 INFO L290 TraceCheckUtils]: 72: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume true; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-28 10:38:26,450 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-28 10:38:26,450 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-28 10:38:26,450 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-28 10:38:26,450 INFO L290 TraceCheckUtils]: 76: Hoare triple {42701#false} ~cond := #in~cond; {42701#false} is VALID [2022-04-28 10:38:26,450 INFO L290 TraceCheckUtils]: 77: Hoare triple {42701#false} assume 0 == ~cond; {42701#false} is VALID [2022-04-28 10:38:26,451 INFO L290 TraceCheckUtils]: 78: Hoare triple {42701#false} assume !false; {42701#false} is VALID [2022-04-28 10:38:26,451 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-28 10:38:26,451 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:26,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1703297469] [2022-04-28 10:38:26,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1703297469] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:26,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1513695978] [2022-04-28 10:38:26,451 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:38:26,451 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:26,451 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:26,452 INFO L229 MonitoredProcess]: Starting monitored process 48 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:26,453 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Waiting until timeout for monitored process [2022-04-28 10:38:26,560 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:38:26,560 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:26,561 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 10:38:26,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:26,578 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:27,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {42700#true} call ULTIMATE.init(); {42700#true} is VALID [2022-04-28 10:38:27,693 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-28 10:38:27,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {42700#true} assume true; {42700#true} is VALID [2022-04-28 10:38:27,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42700#true} {42700#true} #93#return; {42700#true} is VALID [2022-04-28 10:38:27,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {42700#true} call #t~ret7 := main(); {42700#true} is VALID [2022-04-28 10:38:27,693 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-28 10:38:27,693 INFO L290 TraceCheckUtils]: 6: Hoare triple {42700#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {42700#true} is VALID [2022-04-28 10:38:27,693 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-28 10:38:27,694 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-28 10:38:27,694 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-28 10:38:27,694 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-28 10:38:27,695 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-28 10:38:27,695 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-28 10:38:27,695 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-28 10:38:27,696 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-28 10:38:27,696 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-28 10:38:27,696 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-28 10:38:27,697 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-28 10:38:27,697 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-28 10:38:27,698 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-28 10:38:27,698 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-28 10:38:27,698 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-28 10:38:27,699 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-28 10:38:27,699 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-28 10:38:27,699 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-28 10:38:27,700 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-28 10:38:27,700 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-28 10:38:27,700 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-28 10:38:27,701 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-28 10:38:27,701 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-28 10:38:27,701 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-28 10:38:27,702 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-28 10:38:27,702 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-28 10:38:27,702 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-28 10:38:27,703 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-28 10:38:27,703 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-28 10:38:27,703 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-28 10:38:27,704 INFO L290 TraceCheckUtils]: 37: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume true; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-28 10:38:27,704 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-28 10:38:27,705 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-28 10:38:27,705 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-28 10:38:27,705 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-28 10:38:27,705 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-28 10:38:27,706 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-28 10:38:27,706 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-28 10:38:27,706 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-28 10:38:27,707 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-28 10:38:27,707 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-28 10:38:27,707 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-28 10:38:27,708 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-28 10:38:27,708 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-28 10:38:27,709 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-28 10:38:27,709 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-28 10:38:27,709 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-28 10:38:27,710 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-28 10:38:27,710 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-28 10:38:27,710 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-28 10:38:27,711 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-28 10:38:27,711 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-28 10:38:27,711 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-28 10:38:27,712 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-28 10:38:27,712 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-28 10:38:27,712 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-28 10:38:27,713 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-28 10:38:27,713 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-28 10:38:27,714 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-28 10:38:27,714 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-28 10:38:27,714 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-28 10:38:27,715 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-28 10:38:27,715 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-28 10:38:27,715 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-28 10:38:27,715 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-28 10:38:27,716 INFO L290 TraceCheckUtils]: 72: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume true; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-28 10:38:27,717 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-28 10:38:27,717 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-28 10:38:27,717 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-28 10:38:27,717 INFO L290 TraceCheckUtils]: 76: Hoare triple {42701#false} ~cond := #in~cond; {42701#false} is VALID [2022-04-28 10:38:27,717 INFO L290 TraceCheckUtils]: 77: Hoare triple {42701#false} assume 0 == ~cond; {42701#false} is VALID [2022-04-28 10:38:27,717 INFO L290 TraceCheckUtils]: 78: Hoare triple {42701#false} assume !false; {42701#false} is VALID [2022-04-28 10:38:27,717 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-28 10:38:27,717 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:38:32,396 INFO L290 TraceCheckUtils]: 78: Hoare triple {42701#false} assume !false; {42701#false} is VALID [2022-04-28 10:38:32,396 INFO L290 TraceCheckUtils]: 77: Hoare triple {42701#false} assume 0 == ~cond; {42701#false} is VALID [2022-04-28 10:38:32,396 INFO L290 TraceCheckUtils]: 76: Hoare triple {42701#false} ~cond := #in~cond; {42701#false} is VALID [2022-04-28 10:38:32,396 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-28 10:38:32,396 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-28 10:38:32,397 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-28 10:38:32,397 INFO L290 TraceCheckUtils]: 72: Hoare triple {42802#(<= 25 |student_version_#in~w|)} assume true; {42802#(<= 25 |student_version_#in~w|)} is VALID [2022-04-28 10:38:32,397 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-28 10:38:32,398 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-28 10:38:32,398 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-28 10:38:32,398 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-28 10:38:32,399 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-28 10:38:32,399 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-28 10:38:32,399 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-28 10:38:32,400 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-28 10:38:32,400 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-28 10:38:32,400 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-28 10:38:32,401 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-28 10:38:32,401 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-28 10:38:32,401 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-28 10:38:32,402 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-28 10:38:32,402 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-28 10:38:32,402 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-28 10:38:32,403 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-28 10:38:32,403 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-28 10:38:32,403 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-28 10:38:32,404 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-28 10:38:32,404 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-28 10:38:32,404 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-28 10:38:32,405 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-28 10:38:32,405 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-28 10:38:32,405 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-28 10:38:32,406 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-28 10:38:32,406 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-28 10:38:32,406 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-28 10:38:32,407 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-28 10:38:32,407 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-28 10:38:32,407 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-28 10:38:32,407 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-28 10:38:32,408 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-28 10:38:32,408 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-28 10:38:32,409 INFO L290 TraceCheckUtils]: 37: Hoare triple {42786#(<= |correct_version_#in~w| 24)} assume true; {42786#(<= |correct_version_#in~w| 24)} is VALID [2022-04-28 10:38:32,409 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-28 10:38:32,409 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-28 10:38:32,410 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-28 10:38:32,410 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-28 10:38:32,410 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-28 10:38:32,411 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-28 10:38:32,411 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-28 10:38:32,411 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-28 10:38:32,412 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-28 10:38:32,412 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-28 10:38:32,412 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-28 10:38:32,413 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-28 10:38:32,413 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-28 10:38:32,413 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-28 10:38:32,414 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-28 10:38:32,414 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-28 10:38:32,414 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-28 10:38:32,415 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-28 10:38:32,415 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-28 10:38:32,415 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-28 10:38:32,416 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-28 10:38:32,416 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-28 10:38:32,416 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-28 10:38:32,417 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-28 10:38:32,417 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-28 10:38:32,417 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-28 10:38:32,418 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-28 10:38:32,418 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-28 10:38:32,418 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-28 10:38:32,418 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-28 10:38:32,419 INFO L290 TraceCheckUtils]: 6: Hoare triple {42700#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {42700#true} is VALID [2022-04-28 10:38:32,419 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-28 10:38:32,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {42700#true} call #t~ret7 := main(); {42700#true} is VALID [2022-04-28 10:38:32,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42700#true} {42700#true} #93#return; {42700#true} is VALID [2022-04-28 10:38:32,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {42700#true} assume true; {42700#true} is VALID [2022-04-28 10:38:32,419 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-28 10:38:32,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {42700#true} call ULTIMATE.init(); {42700#true} is VALID [2022-04-28 10:38:32,419 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-28 10:38:32,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1513695978] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:38:32,419 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:38:32,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 33, 33] total 92 [2022-04-28 10:38:32,419 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:38:32,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [467875457] [2022-04-28 10:38:32,420 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [467875457] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:38:32,420 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:38:32,420 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-28 10:38:32,420 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [935936311] [2022-04-28 10:38:32,420 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:38:32,420 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-28 10:38:32,420 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:38:32,420 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-28 10:38:32,467 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:32,467 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-28 10:38:32,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:32,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-28 10:38:32,469 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1393, Invalid=6979, Unknown=0, NotChecked=0, Total=8372 [2022-04-28 10:38:32,469 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-28 10:38:35,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:35,336 INFO L93 Difference]: Finished difference Result 107 states and 112 transitions. [2022-04-28 10:38:35,336 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-28 10:38:35,336 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-28 10:38:35,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:38:35,337 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-28 10:38:35,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 104 transitions. [2022-04-28 10:38:35,337 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-28 10:38:35,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 104 transitions. [2022-04-28 10:38:35,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 104 transitions. [2022-04-28 10:38:35,420 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:35,421 INFO L225 Difference]: With dead ends: 107 [2022-04-28 10:38:35,421 INFO L226 Difference]: Without dead ends: 95 [2022-04-28 10:38:35,423 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 101 SyntacticMatches, 5 SemanticMatches, 121 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6825 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=2379, Invalid=12627, Unknown=0, NotChecked=0, Total=15006 [2022-04-28 10:38:35,423 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 109 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 932 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:38:35,423 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [112 Valid, 112 Invalid, 970 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 932 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 10:38:35,423 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-28 10:38:36,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 91. [2022-04-28 10:38:36,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:38:36,305 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-28 10:38:36,305 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-28 10:38:36,305 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-28 10:38:36,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:36,306 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2022-04-28 10:38:36,306 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2022-04-28 10:38:36,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:36,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:36,306 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-28 10:38:36,306 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-28 10:38:36,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:36,307 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2022-04-28 10:38:36,307 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2022-04-28 10:38:36,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:36,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:36,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:38:36,307 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:38:36,307 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-28 10:38:36,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 95 transitions. [2022-04-28 10:38:36,308 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 95 transitions. Word has length 79 [2022-04-28 10:38:36,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:38:36,308 INFO L495 AbstractCegarLoop]: Abstraction has 91 states and 95 transitions. [2022-04-28 10:38:36,308 INFO L496 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-28 10:38:36,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 95 transitions. [2022-04-28 10:38:36,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:36,481 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 95 transitions. [2022-04-28 10:38:36,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 10:38:36,482 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:38:36,482 INFO L195 NwaCegarLoop]: 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-28 10:38:36,498 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-28 10:38:36,682 WARN L477 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-28 10:38:36,682 INFO L420 AbstractCegarLoop]: === Iteration 52 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:38:36,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:38:36,683 INFO L85 PathProgramCache]: Analyzing trace with hash 1521074453, now seen corresponding path program 45 times [2022-04-28 10:38:36,683 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:36,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1392575811] [2022-04-28 10:38:36,685 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:38:36,685 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:38:36,685 INFO L85 PathProgramCache]: Analyzing trace with hash 1521074453, now seen corresponding path program 46 times [2022-04-28 10:38:36,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:38:36,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1241037912] [2022-04-28 10:38:36,686 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:38:36,686 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:38:36,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:36,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:38:36,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:36,740 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-28 10:38:36,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {43980#true} assume true; {43980#true} is VALID [2022-04-28 10:38:36,740 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43980#true} {43980#true} #93#return; {43980#true} is VALID [2022-04-28 10:38:36,741 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:38:36,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:36,936 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-28 10:38:36,936 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-28 10:38:36,937 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-28 10:38:36,937 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-28 10:38:36,937 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-28 10:38:36,938 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-28 10:38:36,938 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-28 10:38:36,938 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-28 10:38:36,939 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-28 10:38:36,939 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-28 10:38:36,939 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-28 10:38:36,940 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-28 10:38:36,940 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-28 10:38:36,940 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-28 10:38:36,941 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-28 10:38:36,941 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-28 10:38:36,941 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-28 10:38:36,942 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-28 10:38:36,942 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-28 10:38:36,943 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-28 10:38:36,943 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-28 10:38:36,943 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-28 10:38:36,944 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-28 10:38:36,944 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-28 10:38:36,944 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-28 10:38:36,945 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-28 10:38:36,945 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-28 10:38:36,945 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-28 10:38:36,946 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-28 10:38:36,946 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-28 10:38:36,946 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-28 10:38:36,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume true; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-28 10:38:36,947 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-28 10:38:36,947 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-28 10:38:36,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:37,243 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-28 10:38:37,244 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-28 10:38:37,244 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-28 10:38:37,244 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-28 10:38:37,245 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-28 10:38:37,245 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-28 10:38:37,245 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-28 10:38:37,246 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-28 10:38:37,246 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-28 10:38:37,246 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-28 10:38:37,247 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-28 10:38:37,247 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-28 10:38:37,247 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-28 10:38:37,248 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-28 10:38:37,248 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-28 10:38:37,249 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-28 10:38:37,249 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-28 10:38:37,249 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-28 10:38:37,250 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-28 10:38:37,250 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-28 10:38:37,250 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-28 10:38:37,251 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-28 10:38:37,251 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-28 10:38:37,251 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-28 10:38:37,252 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-28 10:38:37,252 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-28 10:38:37,252 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-28 10:38:37,253 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-28 10:38:37,253 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-28 10:38:37,253 INFO L290 TraceCheckUtils]: 29: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume true; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-28 10:38:37,254 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-28 10:38:37,254 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-28 10:38:37,254 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-28 10:38:37,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {43980#true} assume true; {43980#true} is VALID [2022-04-28 10:38:37,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43980#true} {43980#true} #93#return; {43980#true} is VALID [2022-04-28 10:38:37,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {43980#true} call #t~ret7 := main(); {43980#true} is VALID [2022-04-28 10:38:37,255 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-28 10:38:37,255 INFO L290 TraceCheckUtils]: 6: Hoare triple {43980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {43980#true} is VALID [2022-04-28 10:38:37,255 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-28 10:38:37,255 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-28 10:38:37,255 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-28 10:38:37,256 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-28 10:38:37,256 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-28 10:38:37,256 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-28 10:38:37,257 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-28 10:38:37,257 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-28 10:38:37,257 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-28 10:38:37,258 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-28 10:38:37,258 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-28 10:38:37,258 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-28 10:38:37,259 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-28 10:38:37,265 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-28 10:38:37,266 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-28 10:38:37,266 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-28 10:38:37,266 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-28 10:38:37,267 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-28 10:38:37,267 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-28 10:38:37,267 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-28 10:38:37,268 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-28 10:38:37,268 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-28 10:38:37,268 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-28 10:38:37,269 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-28 10:38:37,269 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-28 10:38:37,269 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-28 10:38:37,270 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-28 10:38:37,270 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-28 10:38:37,270 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-28 10:38:37,271 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-28 10:38:37,271 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-28 10:38:37,271 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-28 10:38:37,272 INFO L290 TraceCheckUtils]: 39: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume true; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-28 10:38:37,272 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-28 10:38:37,273 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-28 10:38:37,273 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-28 10:38:37,273 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-28 10:38:37,273 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-28 10:38:37,274 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-28 10:38:37,274 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-28 10:38:37,274 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-28 10:38:37,275 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-28 10:38:37,275 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-28 10:38:37,275 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-28 10:38:37,276 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-28 10:38:37,276 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-28 10:38:37,276 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-28 10:38:37,277 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-28 10:38:37,277 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-28 10:38:37,277 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-28 10:38:37,278 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-28 10:38:37,278 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-28 10:38:37,278 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-28 10:38:37,279 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-28 10:38:37,279 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-28 10:38:37,280 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-28 10:38:37,280 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-28 10:38:37,280 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-28 10:38:37,281 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-28 10:38:37,281 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-28 10:38:37,281 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-28 10:38:37,282 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-28 10:38:37,282 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-28 10:38:37,282 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-28 10:38:37,282 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-28 10:38:37,283 INFO L290 TraceCheckUtils]: 72: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume true; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-28 10:38:37,283 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-28 10:38:37,283 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-28 10:38:37,284 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-28 10:38:37,284 INFO L290 TraceCheckUtils]: 76: Hoare triple {43981#false} ~cond := #in~cond; {43981#false} is VALID [2022-04-28 10:38:37,284 INFO L290 TraceCheckUtils]: 77: Hoare triple {43981#false} assume 0 == ~cond; {43981#false} is VALID [2022-04-28 10:38:37,284 INFO L290 TraceCheckUtils]: 78: Hoare triple {43981#false} assume !false; {43981#false} is VALID [2022-04-28 10:38:37,284 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-28 10:38:37,284 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:37,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1241037912] [2022-04-28 10:38:37,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1241037912] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:37,284 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1140480143] [2022-04-28 10:38:37,284 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:38:37,284 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:37,284 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:37,285 INFO L229 MonitoredProcess]: Starting monitored process 49 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:37,286 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Waiting until timeout for monitored process [2022-04-28 10:38:37,406 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:38:37,407 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:37,408 INFO L263 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 10:38:37,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:37,426 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:38,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {43980#true} call ULTIMATE.init(); {43980#true} is VALID [2022-04-28 10:38:38,799 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-28 10:38:38,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {43980#true} assume true; {43980#true} is VALID [2022-04-28 10:38:38,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43980#true} {43980#true} #93#return; {43980#true} is VALID [2022-04-28 10:38:38,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {43980#true} call #t~ret7 := main(); {43980#true} is VALID [2022-04-28 10:38:38,800 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-28 10:38:38,800 INFO L290 TraceCheckUtils]: 6: Hoare triple {43980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {43980#true} is VALID [2022-04-28 10:38:38,800 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-28 10:38:38,800 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-28 10:38:38,801 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-28 10:38:38,801 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-28 10:38:38,802 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-28 10:38:38,802 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-28 10:38:38,802 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-28 10:38:38,803 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-28 10:38:38,803 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-28 10:38:38,803 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-28 10:38:38,804 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-28 10:38:38,804 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-28 10:38:38,805 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-28 10:38:38,805 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-28 10:38:38,805 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-28 10:38:38,806 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-28 10:38:38,806 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-28 10:38:38,807 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-28 10:38:38,807 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-28 10:38:38,807 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-28 10:38:38,808 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-28 10:38:38,808 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-28 10:38:38,809 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-28 10:38:38,809 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-28 10:38:38,809 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-28 10:38:38,810 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-28 10:38:38,810 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-28 10:38:38,811 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-28 10:38:38,811 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-28 10:38:38,811 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-28 10:38:38,811 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-28 10:38:38,812 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-28 10:38:38,812 INFO L290 TraceCheckUtils]: 39: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume true; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-28 10:38:38,813 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-28 10:38:38,813 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-28 10:38:38,813 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-28 10:38:38,814 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-28 10:38:38,814 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-28 10:38:38,814 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-28 10:38:38,815 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-28 10:38:38,815 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-28 10:38:38,816 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-28 10:38:38,816 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-28 10:38:38,816 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-28 10:38:38,817 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-28 10:38:38,817 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-28 10:38:38,817 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-28 10:38:38,818 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-28 10:38:38,818 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-28 10:38:38,819 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-28 10:38:38,819 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-28 10:38:38,819 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-28 10:38:38,820 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-28 10:38:38,820 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-28 10:38:38,821 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-28 10:38:38,821 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-28 10:38:38,821 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-28 10:38:38,822 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-28 10:38:38,822 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-28 10:38:38,823 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-28 10:38:38,823 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-28 10:38:38,823 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-28 10:38:38,824 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-28 10:38:38,824 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-28 10:38:38,824 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-28 10:38:38,825 INFO L290 TraceCheckUtils]: 72: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume true; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-28 10:38:38,825 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-28 10:38:38,826 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-28 10:38:38,826 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-28 10:38:38,826 INFO L290 TraceCheckUtils]: 76: Hoare triple {43981#false} ~cond := #in~cond; {43981#false} is VALID [2022-04-28 10:38:38,826 INFO L290 TraceCheckUtils]: 77: Hoare triple {43981#false} assume 0 == ~cond; {43981#false} is VALID [2022-04-28 10:38:38,826 INFO L290 TraceCheckUtils]: 78: Hoare triple {43981#false} assume !false; {43981#false} is VALID [2022-04-28 10:38:38,826 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-28 10:38:38,826 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:38:43,014 INFO L290 TraceCheckUtils]: 78: Hoare triple {43981#false} assume !false; {43981#false} is VALID [2022-04-28 10:38:43,014 INFO L290 TraceCheckUtils]: 77: Hoare triple {43981#false} assume 0 == ~cond; {43981#false} is VALID [2022-04-28 10:38:43,014 INFO L290 TraceCheckUtils]: 76: Hoare triple {43981#false} ~cond := #in~cond; {43981#false} is VALID [2022-04-28 10:38:43,014 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-28 10:38:43,014 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-28 10:38:43,015 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-28 10:38:43,015 INFO L290 TraceCheckUtils]: 72: Hoare triple {44082#(<= |student_version_#in~w| 24)} assume true; {44082#(<= |student_version_#in~w| 24)} is VALID [2022-04-28 10:38:43,015 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-28 10:38:43,016 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-28 10:38:43,016 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-28 10:38:43,016 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-28 10:38:43,017 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-28 10:38:43,017 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-28 10:38:43,017 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-28 10:38:43,018 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-28 10:38:43,018 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-28 10:38:43,019 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-28 10:38:43,019 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-28 10:38:43,019 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-28 10:38:43,020 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-28 10:38:43,020 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-28 10:38:43,020 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-28 10:38:43,021 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-28 10:38:43,021 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-28 10:38:43,021 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-28 10:38:43,022 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-28 10:38:43,022 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-28 10:38:43,022 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-28 10:38:43,023 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-28 10:38:43,023 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-28 10:38:43,023 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-28 10:38:43,024 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-28 10:38:43,024 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-28 10:38:43,024 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-28 10:38:43,025 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-28 10:38:43,025 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-28 10:38:43,025 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-28 10:38:43,026 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-28 10:38:43,026 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-28 10:38:43,027 INFO L290 TraceCheckUtils]: 39: Hoare triple {44066#(<= 25 |correct_version_#in~w|)} assume true; {44066#(<= 25 |correct_version_#in~w|)} is VALID [2022-04-28 10:38:43,027 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-28 10:38:43,027 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-28 10:38:43,027 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-28 10:38:43,027 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-28 10:38:43,028 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-28 10:38:43,028 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-28 10:38:43,028 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-28 10:38:43,029 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-28 10:38:43,029 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-28 10:38:43,030 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-28 10:38:43,030 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-28 10:38:43,030 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-28 10:38:43,031 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-28 10:38:43,031 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-28 10:38:43,031 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-28 10:38:43,032 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-28 10:38:43,032 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-28 10:38:43,033 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-28 10:38:43,033 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-28 10:38:43,033 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-28 10:38:43,034 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-28 10:38:43,034 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-28 10:38:43,034 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-28 10:38:43,035 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-28 10:38:43,035 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-28 10:38:43,035 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-28 10:38:43,036 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-28 10:38:43,036 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-28 10:38:43,036 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-28 10:38:43,037 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-28 10:38:43,037 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-28 10:38:43,037 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-28 10:38:43,037 INFO L290 TraceCheckUtils]: 6: Hoare triple {43980#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {43980#true} is VALID [2022-04-28 10:38:43,037 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-28 10:38:43,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {43980#true} call #t~ret7 := main(); {43980#true} is VALID [2022-04-28 10:38:43,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43980#true} {43980#true} #93#return; {43980#true} is VALID [2022-04-28 10:38:43,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {43980#true} assume true; {43980#true} is VALID [2022-04-28 10:38:43,037 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-28 10:38:43,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {43980#true} call ULTIMATE.init(); {43980#true} is VALID [2022-04-28 10:38:43,038 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-28 10:38:43,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1140480143] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:38:43,039 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:38:43,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 33, 33] total 92 [2022-04-28 10:38:43,039 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:38:43,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1392575811] [2022-04-28 10:38:43,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1392575811] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:38:43,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:38:43,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-28 10:38:43,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2111395158] [2022-04-28 10:38:43,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:38:43,039 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-28 10:38:43,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:38:43,040 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-28 10:38:43,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:43,088 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-28 10:38:43,088 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:43,088 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-28 10:38:43,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1393, Invalid=6979, Unknown=0, NotChecked=0, Total=8372 [2022-04-28 10:38:43,089 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-28 10:38:45,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:45,377 INFO L93 Difference]: Finished difference Result 101 states and 104 transitions. [2022-04-28 10:38:45,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-28 10:38:45,378 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-28 10:38:45,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:38:45,378 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-28 10:38:45,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 96 transitions. [2022-04-28 10:38:45,379 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-28 10:38:45,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 96 transitions. [2022-04-28 10:38:45,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 96 transitions. [2022-04-28 10:38:45,460 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:45,461 INFO L225 Difference]: With dead ends: 101 [2022-04-28 10:38:45,461 INFO L226 Difference]: Without dead ends: 91 [2022-04-28 10:38:45,462 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 101 SyntacticMatches, 5 SemanticMatches, 121 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6748 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=2379, Invalid=12627, Unknown=0, NotChecked=0, Total=15006 [2022-04-28 10:38:45,463 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 114 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 601 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:38:45,463 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [115 Valid, 70 Invalid, 641 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 601 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:38:45,463 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-28 10:38:46,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 90. [2022-04-28 10:38:46,251 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:38:46,251 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-28 10:38:46,251 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-28 10:38:46,252 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-28 10:38:46,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:46,252 INFO L93 Difference]: Finished difference Result 91 states and 94 transitions. [2022-04-28 10:38:46,252 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 94 transitions. [2022-04-28 10:38:46,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:46,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:46,253 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-28 10:38:46,253 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-28 10:38:46,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:46,253 INFO L93 Difference]: Finished difference Result 91 states and 94 transitions. [2022-04-28 10:38:46,253 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 94 transitions. [2022-04-28 10:38:46,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:38:46,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:38:46,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:38:46,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:38:46,254 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-28 10:38:46,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 93 transitions. [2022-04-28 10:38:46,255 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 93 transitions. Word has length 79 [2022-04-28 10:38:46,255 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:38:46,255 INFO L495 AbstractCegarLoop]: Abstraction has 90 states and 93 transitions. [2022-04-28 10:38:46,255 INFO L496 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-28 10:38:46,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 90 states and 93 transitions. [2022-04-28 10:38:46,431 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-28 10:38:46,431 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 93 transitions. [2022-04-28 10:38:46,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 10:38:46,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:38:46,431 INFO L195 NwaCegarLoop]: 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-28 10:38:46,448 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Forceful destruction successful, exit code 0 [2022-04-28 10:38:46,632 WARN L477 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-28 10:38:46,632 INFO L420 AbstractCegarLoop]: === Iteration 53 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:38:46,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:38:46,632 INFO L85 PathProgramCache]: Analyzing trace with hash -284558569, now seen corresponding path program 47 times [2022-04-28 10:38:46,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:46,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1223133318] [2022-04-28 10:38:46,635 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:38:46,635 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:38:46,635 INFO L85 PathProgramCache]: Analyzing trace with hash -284558569, now seen corresponding path program 48 times [2022-04-28 10:38:46,635 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:38:46,635 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [817907206] [2022-04-28 10:38:46,635 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:38:46,635 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:38:46,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:46,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:38:46,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:46,677 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-28 10:38:46,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {45238#true} assume true; {45238#true} is VALID [2022-04-28 10:38:46,677 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45238#true} {45238#true} #93#return; {45238#true} is VALID [2022-04-28 10:38:46,677 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:38:46,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:46,914 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-28 10:38:46,915 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-28 10:38:46,915 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-28 10:38:46,915 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-28 10:38:46,916 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-28 10:38:46,916 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-28 10:38:46,917 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-28 10:38:46,917 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-28 10:38:46,917 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-28 10:38:46,918 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-28 10:38:46,918 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-28 10:38:46,918 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-28 10:38:46,919 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-28 10:38:46,919 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-28 10:38:46,920 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-28 10:38:46,920 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-28 10:38:46,920 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-28 10:38:46,921 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-28 10:38:46,921 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-28 10:38:46,921 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-28 10:38:46,922 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-28 10:38:46,922 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-28 10:38:46,923 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-28 10:38:46,923 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-28 10:38:46,923 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-28 10:38:46,924 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-28 10:38:46,924 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-28 10:38:46,925 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-28 10:38:46,925 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-28 10:38:46,926 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-28 10:38:46,926 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-28 10:38:46,926 INFO L290 TraceCheckUtils]: 31: Hoare triple {45327#(<= |correct_version_#in~w| 25)} assume true; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-28 10:38:46,927 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-28 10:38:46,927 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-28 10:38:46,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:47,218 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-28 10:38:47,218 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-28 10:38:47,219 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-28 10:38:47,219 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-28 10:38:47,219 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-28 10:38:47,220 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-28 10:38:47,220 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-28 10:38:47,221 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-28 10:38:47,221 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-28 10:38:47,221 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-28 10:38:47,222 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-28 10:38:47,222 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-28 10:38:47,222 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-28 10:38:47,223 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-28 10:38:47,223 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-28 10:38:47,224 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-28 10:38:47,224 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-28 10:38:47,224 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-28 10:38:47,225 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-28 10:38:47,225 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-28 10:38:47,225 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-28 10:38:47,226 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-28 10:38:47,226 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-28 10:38:47,226 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-28 10:38:47,227 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-28 10:38:47,227 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-28 10:38:47,228 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-28 10:38:47,228 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-28 10:38:47,228 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-28 10:38:47,229 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-28 10:38:47,229 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-28 10:38:47,229 INFO L290 TraceCheckUtils]: 31: Hoare triple {45343#(<= 26 |student_version_#in~w|)} assume true; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-28 10:38:47,230 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-28 10:38:47,231 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-28 10:38:47,231 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-28 10:38:47,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {45238#true} assume true; {45238#true} is VALID [2022-04-28 10:38:47,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45238#true} {45238#true} #93#return; {45238#true} is VALID [2022-04-28 10:38:47,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {45238#true} call #t~ret7 := main(); {45238#true} is VALID [2022-04-28 10:38:47,231 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-28 10:38:47,231 INFO L290 TraceCheckUtils]: 6: Hoare triple {45238#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {45238#true} is VALID [2022-04-28 10:38:47,231 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-28 10:38:47,231 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-28 10:38:47,232 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-28 10:38:47,232 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-28 10:38:47,233 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-28 10:38:47,233 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-28 10:38:47,234 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-28 10:38:47,234 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-28 10:38:47,235 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-28 10:38:47,235 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-28 10:38:47,236 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-28 10:38:47,236 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-28 10:38:47,237 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-28 10:38:47,237 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-28 10:38:47,237 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-28 10:38:47,238 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-28 10:38:47,238 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-28 10:38:47,239 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-28 10:38:47,239 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-28 10:38:47,239 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-28 10:38:47,240 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-28 10:38:47,240 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-28 10:38:47,241 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-28 10:38:47,241 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-28 10:38:47,242 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-28 10:38:47,242 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-28 10:38:47,242 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-28 10:38:47,243 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-28 10:38:47,243 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-28 10:38:47,244 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-28 10:38:47,245 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-28 10:38:47,245 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-28 10:38:47,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {45327#(<= |correct_version_#in~w| 25)} assume true; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-28 10:38:47,246 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-28 10:38:47,246 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-28 10:38:47,246 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-28 10:38:47,247 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-28 10:38:47,247 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-28 10:38:47,247 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-28 10:38:47,248 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-28 10:38:47,248 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-28 10:38:47,249 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-28 10:38:47,249 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-28 10:38:47,249 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-28 10:38:47,250 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-28 10:38:47,250 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-28 10:38:47,250 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-28 10:38:47,251 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-28 10:38:47,251 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-28 10:38:47,252 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-28 10:38:47,252 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-28 10:38:47,252 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-28 10:38:47,253 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-28 10:38:47,253 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-28 10:38:47,253 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-28 10:38:47,254 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-28 10:38:47,254 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-28 10:38:47,254 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-28 10:38:47,255 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-28 10:38:47,255 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-28 10:38:47,256 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-28 10:38:47,256 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-28 10:38:47,256 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-28 10:38:47,257 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-28 10:38:47,257 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-28 10:38:47,257 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-28 10:38:47,258 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-28 10:38:47,258 INFO L290 TraceCheckUtils]: 74: Hoare triple {45343#(<= 26 |student_version_#in~w|)} assume true; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-28 10:38:47,259 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-28 10:38:47,259 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-28 10:38:47,259 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-28 10:38:47,259 INFO L290 TraceCheckUtils]: 78: Hoare triple {45239#false} ~cond := #in~cond; {45239#false} is VALID [2022-04-28 10:38:47,259 INFO L290 TraceCheckUtils]: 79: Hoare triple {45239#false} assume 0 == ~cond; {45239#false} is VALID [2022-04-28 10:38:47,259 INFO L290 TraceCheckUtils]: 80: Hoare triple {45239#false} assume !false; {45239#false} is VALID [2022-04-28 10:38:47,259 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-28 10:38:47,259 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:38:47,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [817907206] [2022-04-28 10:38:47,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [817907206] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:38:47,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [679847671] [2022-04-28 10:38:47,260 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:38:47,260 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:38:47,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:38:47,261 INFO L229 MonitoredProcess]: Starting monitored process 50 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:38:47,262 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Waiting until timeout for monitored process [2022-04-28 10:38:47,388 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 14 check-sat command(s) [2022-04-28 10:38:47,389 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:38:47,390 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 10:38:47,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:38:47,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:38:48,709 INFO L272 TraceCheckUtils]: 0: Hoare triple {45238#true} call ULTIMATE.init(); {45238#true} is VALID [2022-04-28 10:38:48,710 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-28 10:38:48,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {45238#true} assume true; {45238#true} is VALID [2022-04-28 10:38:48,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45238#true} {45238#true} #93#return; {45238#true} is VALID [2022-04-28 10:38:48,710 INFO L272 TraceCheckUtils]: 4: Hoare triple {45238#true} call #t~ret7 := main(); {45238#true} is VALID [2022-04-28 10:38:48,710 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-28 10:38:48,710 INFO L290 TraceCheckUtils]: 6: Hoare triple {45238#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {45238#true} is VALID [2022-04-28 10:38:48,710 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-28 10:38:48,711 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-28 10:38:48,711 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-28 10:38:48,711 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-28 10:38:48,712 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-28 10:38:48,712 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-28 10:38:48,713 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-28 10:38:48,713 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-28 10:38:48,714 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-28 10:38:48,714 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-28 10:38:48,715 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-28 10:38:48,715 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-28 10:38:48,715 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-28 10:38:48,716 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-28 10:38:48,716 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-28 10:38:48,717 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-28 10:38:48,717 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-28 10:38:48,717 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-28 10:38:48,718 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-28 10:38:48,718 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-28 10:38:48,719 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-28 10:38:48,719 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-28 10:38:48,719 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-28 10:38:48,720 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-28 10:38:48,720 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-28 10:38:48,721 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-28 10:38:48,721 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-28 10:38:48,721 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-28 10:38:48,722 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-28 10:38:48,722 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-28 10:38:48,722 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-28 10:38:48,723 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-28 10:38:48,723 INFO L290 TraceCheckUtils]: 39: Hoare triple {45327#(<= |correct_version_#in~w| 25)} assume true; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-28 10:38:48,724 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-28 10:38:48,724 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-28 10:38:48,724 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-28 10:38:48,725 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-28 10:38:48,725 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-28 10:38:48,725 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-28 10:38:48,726 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-28 10:38:48,726 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-28 10:38:48,726 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-28 10:38:48,727 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-28 10:38:48,727 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-28 10:38:48,727 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-28 10:38:48,728 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-28 10:38:48,728 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-28 10:38:48,729 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-28 10:38:48,729 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-28 10:38:48,729 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-28 10:38:48,730 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-28 10:38:48,730 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-28 10:38:48,730 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-28 10:38:48,731 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-28 10:38:48,731 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-28 10:38:48,731 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-28 10:38:48,732 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-28 10:38:48,732 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-28 10:38:48,733 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-28 10:38:48,733 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-28 10:38:48,733 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-28 10:38:48,734 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-28 10:38:48,734 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-28 10:38:48,734 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-28 10:38:48,735 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-28 10:38:48,735 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-28 10:38:48,735 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-28 10:38:48,736 INFO L290 TraceCheckUtils]: 74: Hoare triple {45343#(<= 26 |student_version_#in~w|)} assume true; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-28 10:38:48,736 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-28 10:38:48,737 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-28 10:38:48,737 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-28 10:38:48,737 INFO L290 TraceCheckUtils]: 78: Hoare triple {45239#false} ~cond := #in~cond; {45239#false} is VALID [2022-04-28 10:38:48,737 INFO L290 TraceCheckUtils]: 79: Hoare triple {45239#false} assume 0 == ~cond; {45239#false} is VALID [2022-04-28 10:38:48,737 INFO L290 TraceCheckUtils]: 80: Hoare triple {45239#false} assume !false; {45239#false} is VALID [2022-04-28 10:38:48,737 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-28 10:38:48,737 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:38:56,678 INFO L290 TraceCheckUtils]: 80: Hoare triple {45239#false} assume !false; {45239#false} is VALID [2022-04-28 10:38:56,679 INFO L290 TraceCheckUtils]: 79: Hoare triple {45239#false} assume 0 == ~cond; {45239#false} is VALID [2022-04-28 10:38:56,679 INFO L290 TraceCheckUtils]: 78: Hoare triple {45239#false} ~cond := #in~cond; {45239#false} is VALID [2022-04-28 10:38:56,679 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-28 10:38:56,679 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-28 10:38:56,680 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-28 10:38:56,680 INFO L290 TraceCheckUtils]: 74: Hoare triple {45343#(<= 26 |student_version_#in~w|)} assume true; {45343#(<= 26 |student_version_#in~w|)} is VALID [2022-04-28 10:38:56,680 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-28 10:38:56,680 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-28 10:38:56,681 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-28 10:38:56,681 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-28 10:38:56,682 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-28 10:38:56,682 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-28 10:38:56,682 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-28 10:38:56,683 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-28 10:38:56,683 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-28 10:38:56,683 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-28 10:38:56,684 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-28 10:38:56,684 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-28 10:38:56,684 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-28 10:38:56,685 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-28 10:38:56,685 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-28 10:38:56,685 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-28 10:38:56,686 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-28 10:38:56,686 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-28 10:38:56,686 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-28 10:38:56,687 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-28 10:38:56,687 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-28 10:38:56,688 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-28 10:38:56,688 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-28 10:38:56,688 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-28 10:38:56,689 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-28 10:38:56,689 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-28 10:38:56,689 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-28 10:38:56,690 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-28 10:38:56,690 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-28 10:38:56,690 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-28 10:38:56,691 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-28 10:38:56,691 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-28 10:38:56,691 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-28 10:38:56,692 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-28 10:38:56,692 INFO L290 TraceCheckUtils]: 39: Hoare triple {45327#(<= |correct_version_#in~w| 25)} assume true; {45327#(<= |correct_version_#in~w| 25)} is VALID [2022-04-28 10:38:56,692 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-28 10:38:56,693 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-28 10:38:56,693 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-28 10:38:56,693 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-28 10:38:56,694 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-28 10:38:56,694 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-28 10:38:56,694 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-28 10:38:56,695 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-28 10:38:56,695 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-28 10:38:56,696 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-28 10:38:56,696 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-28 10:38:56,696 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-28 10:38:56,696 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-28 10:38:56,697 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-28 10:38:56,697 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-28 10:38:56,698 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-28 10:38:56,698 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-28 10:38:56,698 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-28 10:38:56,699 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-28 10:38:56,699 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-28 10:38:56,699 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-28 10:38:56,700 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-28 10:38:56,700 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-28 10:38:56,700 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-28 10:38:56,701 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-28 10:38:56,701 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-28 10:38:56,701 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-28 10:38:56,702 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-28 10:38:56,702 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-28 10:38:56,702 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-28 10:38:56,703 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-28 10:38:56,703 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-28 10:38:56,703 INFO L290 TraceCheckUtils]: 6: Hoare triple {45238#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {45238#true} is VALID [2022-04-28 10:38:56,703 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-28 10:38:56,703 INFO L272 TraceCheckUtils]: 4: Hoare triple {45238#true} call #t~ret7 := main(); {45238#true} is VALID [2022-04-28 10:38:56,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45238#true} {45238#true} #93#return; {45238#true} is VALID [2022-04-28 10:38:56,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {45238#true} assume true; {45238#true} is VALID [2022-04-28 10:38:56,703 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-28 10:38:56,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {45238#true} call ULTIMATE.init(); {45238#true} is VALID [2022-04-28 10:38:56,703 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-28 10:38:56,703 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [679847671] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:38:56,703 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:38:56,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 36, 36] total 99 [2022-04-28 10:38:56,704 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:38:56,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1223133318] [2022-04-28 10:38:56,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1223133318] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:38:56,704 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:38:56,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [37] imperfect sequences [] total 37 [2022-04-28 10:38:56,704 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [417253179] [2022-04-28 10:38:56,704 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:38:56,704 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-28 10:38:56,704 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:38:56,704 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-28 10:38:56,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:56,763 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-28 10:38:56,763 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:38:56,764 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-28 10:38:56,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1559, Invalid=8143, Unknown=0, NotChecked=0, Total=9702 [2022-04-28 10:38:56,765 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-28 10:38:59,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:38:59,741 INFO L93 Difference]: Finished difference Result 110 states and 117 transitions. [2022-04-28 10:38:59,741 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2022-04-28 10:38:59,741 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-28 10:38:59,741 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:38:59,741 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-28 10:38:59,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 112 transitions. [2022-04-28 10:38:59,742 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-28 10:38:59,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 112 transitions. [2022-04-28 10:38:59,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 112 transitions. [2022-04-28 10:38:59,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:38:59,827 INFO L225 Difference]: With dead ends: 110 [2022-04-28 10:38:59,827 INFO L226 Difference]: Without dead ends: 99 [2022-04-28 10:38:59,829 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 99 SyntacticMatches, 5 SemanticMatches, 131 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7882 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=2687, Invalid=14869, Unknown=0, NotChecked=0, Total=17556 [2022-04-28 10:38:59,829 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 83 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 836 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:38:59,829 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [87 Valid, 92 Invalid, 877 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 836 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:38:59,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-28 10:39:00,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 93. [2022-04-28 10:39:00,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:39:00,700 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-28 10:39:00,700 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-28 10:39:00,700 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-28 10:39:00,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:00,701 INFO L93 Difference]: Finished difference Result 99 states and 105 transitions. [2022-04-28 10:39:00,701 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 105 transitions. [2022-04-28 10:39:00,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:00,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:00,701 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-28 10:39:00,701 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-28 10:39:00,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:00,702 INFO L93 Difference]: Finished difference Result 99 states and 105 transitions. [2022-04-28 10:39:00,702 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 105 transitions. [2022-04-28 10:39:00,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:00,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:00,702 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:39:00,702 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:39:00,702 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-28 10:39:00,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 97 transitions. [2022-04-28 10:39:00,703 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 97 transitions. Word has length 81 [2022-04-28 10:39:00,703 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:39:00,703 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 97 transitions. [2022-04-28 10:39:00,703 INFO L496 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-28 10:39:00,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 97 transitions. [2022-04-28 10:39:00,890 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:00,891 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 97 transitions. [2022-04-28 10:39:00,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-28 10:39:00,891 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:39:00,891 INFO L195 NwaCegarLoop]: 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-28 10:39:00,909 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Forceful destruction successful, exit code 0 [2022-04-28 10:39:01,091 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 50 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable52 [2022-04-28 10:39:01,092 INFO L420 AbstractCegarLoop]: === Iteration 54 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:39:01,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:39:01,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1280962515, now seen corresponding path program 47 times [2022-04-28 10:39:01,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:01,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [584625745] [2022-04-28 10:39:01,094 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:39:01,094 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:39:01,094 INFO L85 PathProgramCache]: Analyzing trace with hash 1280962515, now seen corresponding path program 48 times [2022-04-28 10:39:01,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:39:01,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1531899949] [2022-04-28 10:39:01,095 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:39:01,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:39:01,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:01,133 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:39:01,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:01,136 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-28 10:39:01,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {46563#true} assume true; {46563#true} is VALID [2022-04-28 10:39:01,136 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {46563#true} {46563#true} #93#return; {46563#true} is VALID [2022-04-28 10:39:01,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:39:01,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:01,342 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-28 10:39:01,343 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-28 10:39:01,343 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-28 10:39:01,343 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-28 10:39:01,344 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-28 10:39:01,344 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-28 10:39:01,345 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-28 10:39:01,345 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-28 10:39:01,345 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-28 10:39:01,346 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-28 10:39:01,346 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-28 10:39:01,347 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-28 10:39:01,347 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-28 10:39:01,347 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-28 10:39:01,348 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-28 10:39:01,348 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-28 10:39:01,348 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-28 10:39:01,349 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-28 10:39:01,349 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-28 10:39:01,349 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-28 10:39:01,350 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-28 10:39:01,350 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-28 10:39:01,351 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-28 10:39:01,351 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-28 10:39:01,351 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-28 10:39:01,352 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-28 10:39:01,352 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-28 10:39:01,352 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-28 10:39:01,353 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-28 10:39:01,353 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-28 10:39:01,353 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-28 10:39:01,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} assume true; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:01,354 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-28 10:39:01,354 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-28 10:39:01,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:01,695 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-28 10:39:01,695 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-28 10:39:01,696 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-28 10:39:01,696 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-28 10:39:01,697 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-28 10:39:01,697 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-28 10:39:01,697 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-28 10:39:01,698 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-28 10:39:01,698 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-28 10:39:01,698 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-28 10:39:01,699 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-28 10:39:01,699 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-28 10:39:01,699 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-28 10:39:01,700 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-28 10:39:01,700 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-28 10:39:01,700 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-28 10:39:01,701 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-28 10:39:01,701 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-28 10:39:01,701 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-28 10:39:01,702 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-28 10:39:01,702 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-28 10:39:01,702 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-28 10:39:01,703 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-28 10:39:01,703 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-28 10:39:01,703 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-28 10:39:01,704 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-28 10:39:01,704 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-28 10:39:01,705 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-28 10:39:01,705 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-28 10:39:01,705 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-28 10:39:01,706 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-28 10:39:01,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {46668#(<= |student_version_#in~w| 25)} assume true; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-28 10:39:01,707 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-28 10:39:01,707 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-28 10:39:01,707 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-28 10:39:01,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {46563#true} assume true; {46563#true} is VALID [2022-04-28 10:39:01,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46563#true} {46563#true} #93#return; {46563#true} is VALID [2022-04-28 10:39:01,707 INFO L272 TraceCheckUtils]: 4: Hoare triple {46563#true} call #t~ret7 := main(); {46563#true} is VALID [2022-04-28 10:39:01,707 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-28 10:39:01,707 INFO L290 TraceCheckUtils]: 6: Hoare triple {46563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {46563#true} is VALID [2022-04-28 10:39:01,708 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-28 10:39:01,708 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-28 10:39:01,708 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-28 10:39:01,708 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-28 10:39:01,709 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-28 10:39:01,709 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-28 10:39:01,710 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-28 10:39:01,710 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-28 10:39:01,710 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-28 10:39:01,711 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-28 10:39:01,711 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-28 10:39:01,711 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-28 10:39:01,712 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-28 10:39:01,712 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-28 10:39:01,712 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-28 10:39:01,713 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-28 10:39:01,713 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-28 10:39:01,713 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-28 10:39:01,714 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-28 10:39:01,714 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-28 10:39:01,714 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-28 10:39:01,715 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-28 10:39:01,715 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-28 10:39:01,715 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-28 10:39:01,716 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-28 10:39:01,716 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-28 10:39:01,717 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-28 10:39:01,717 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-28 10:39:01,717 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-28 10:39:01,718 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-28 10:39:01,718 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-28 10:39:01,718 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-28 10:39:01,718 INFO L290 TraceCheckUtils]: 39: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} assume true; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:01,719 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-28 10:39:01,720 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-28 10:39:01,720 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-28 10:39:01,720 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-28 10:39:01,720 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-28 10:39:01,721 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-28 10:39:01,721 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-28 10:39:01,721 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-28 10:39:01,722 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-28 10:39:01,722 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-28 10:39:01,722 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-28 10:39:01,723 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-28 10:39:01,723 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-28 10:39:01,723 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-28 10:39:01,724 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-28 10:39:01,724 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-28 10:39:01,724 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-28 10:39:01,725 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-28 10:39:01,725 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-28 10:39:01,725 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-28 10:39:01,726 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-28 10:39:01,726 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-28 10:39:01,727 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-28 10:39:01,727 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-28 10:39:01,727 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-28 10:39:01,728 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-28 10:39:01,728 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-28 10:39:01,728 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-28 10:39:01,729 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-28 10:39:01,729 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-28 10:39:01,729 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-28 10:39:01,730 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-28 10:39:01,730 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-28 10:39:01,730 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-28 10:39:01,731 INFO L290 TraceCheckUtils]: 74: Hoare triple {46668#(<= |student_version_#in~w| 25)} assume true; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-28 10:39:01,731 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-28 10:39:01,731 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-28 10:39:01,732 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-28 10:39:01,732 INFO L290 TraceCheckUtils]: 78: Hoare triple {46564#false} ~cond := #in~cond; {46564#false} is VALID [2022-04-28 10:39:01,732 INFO L290 TraceCheckUtils]: 79: Hoare triple {46564#false} assume 0 == ~cond; {46564#false} is VALID [2022-04-28 10:39:01,732 INFO L290 TraceCheckUtils]: 80: Hoare triple {46564#false} assume !false; {46564#false} is VALID [2022-04-28 10:39:01,732 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-28 10:39:01,732 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:39:01,732 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1531899949] [2022-04-28 10:39:01,732 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1531899949] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:39:01,732 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [5626659] [2022-04-28 10:39:01,732 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:39:01,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:01,733 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:39:01,733 INFO L229 MonitoredProcess]: Starting monitored process 51 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:39:01,734 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Waiting until timeout for monitored process [2022-04-28 10:39:01,870 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 14 check-sat command(s) [2022-04-28 10:39:01,870 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:39:01,871 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 10:39:01,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:01,891 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:39:03,642 INFO L272 TraceCheckUtils]: 0: Hoare triple {46563#true} call ULTIMATE.init(); {46563#true} is VALID [2022-04-28 10:39:03,642 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-28 10:39:03,642 INFO L290 TraceCheckUtils]: 2: Hoare triple {46563#true} assume true; {46563#true} is VALID [2022-04-28 10:39:03,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46563#true} {46563#true} #93#return; {46563#true} is VALID [2022-04-28 10:39:03,642 INFO L272 TraceCheckUtils]: 4: Hoare triple {46563#true} call #t~ret7 := main(); {46563#true} is VALID [2022-04-28 10:39:03,642 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-28 10:39:03,642 INFO L290 TraceCheckUtils]: 6: Hoare triple {46563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {46563#true} is VALID [2022-04-28 10:39:03,642 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-28 10:39:03,643 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-28 10:39:03,643 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-28 10:39:03,644 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-28 10:39:03,644 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-28 10:39:03,644 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-28 10:39:03,645 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-28 10:39:03,645 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-28 10:39:03,646 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-28 10:39:03,646 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-28 10:39:03,647 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-28 10:39:03,647 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-28 10:39:03,647 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-28 10:39:03,648 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-28 10:39:03,648 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-28 10:39:03,649 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-28 10:39:03,649 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-28 10:39:03,649 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-28 10:39:03,650 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-28 10:39:03,650 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-28 10:39:03,651 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-28 10:39:03,651 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-28 10:39:03,652 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-28 10:39:03,652 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-28 10:39:03,652 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-28 10:39:03,653 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-28 10:39:03,653 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-28 10:39:03,654 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-28 10:39:03,654 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-28 10:39:03,654 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-28 10:39:03,655 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-28 10:39:03,655 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-28 10:39:03,655 INFO L290 TraceCheckUtils]: 39: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} assume true; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:03,656 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-28 10:39:03,657 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-28 10:39:03,657 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-28 10:39:03,657 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-28 10:39:03,658 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-28 10:39:03,658 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-28 10:39:03,658 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-28 10:39:03,659 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-28 10:39:03,659 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-28 10:39:03,660 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-28 10:39:03,660 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-28 10:39:03,660 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-28 10:39:03,661 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-28 10:39:03,661 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-28 10:39:03,662 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-28 10:39:03,662 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-28 10:39:03,662 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-28 10:39:03,663 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-28 10:39:03,663 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-28 10:39:03,664 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-28 10:39:03,664 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-28 10:39:03,664 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-28 10:39:03,665 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-28 10:39:03,665 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-28 10:39:03,666 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-28 10:39:03,666 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-28 10:39:03,667 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-28 10:39:03,667 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-28 10:39:03,667 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-28 10:39:03,668 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-28 10:39:03,668 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-28 10:39:03,669 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-28 10:39:03,669 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-28 10:39:03,669 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-28 10:39:03,670 INFO L290 TraceCheckUtils]: 74: Hoare triple {46668#(<= |student_version_#in~w| 25)} assume true; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-28 10:39:03,670 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-28 10:39:03,671 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-28 10:39:03,671 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-28 10:39:03,671 INFO L290 TraceCheckUtils]: 78: Hoare triple {46564#false} ~cond := #in~cond; {46564#false} is VALID [2022-04-28 10:39:03,671 INFO L290 TraceCheckUtils]: 79: Hoare triple {46564#false} assume 0 == ~cond; {46564#false} is VALID [2022-04-28 10:39:03,671 INFO L290 TraceCheckUtils]: 80: Hoare triple {46564#false} assume !false; {46564#false} is VALID [2022-04-28 10:39:03,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-28 10:39:03,671 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:39:11,876 INFO L290 TraceCheckUtils]: 80: Hoare triple {46564#false} assume !false; {46564#false} is VALID [2022-04-28 10:39:11,876 INFO L290 TraceCheckUtils]: 79: Hoare triple {46564#false} assume 0 == ~cond; {46564#false} is VALID [2022-04-28 10:39:11,876 INFO L290 TraceCheckUtils]: 78: Hoare triple {46564#false} ~cond := #in~cond; {46564#false} is VALID [2022-04-28 10:39:11,876 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-28 10:39:11,876 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-28 10:39:11,877 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-28 10:39:11,877 INFO L290 TraceCheckUtils]: 74: Hoare triple {46668#(<= |student_version_#in~w| 25)} assume true; {46668#(<= |student_version_#in~w| 25)} is VALID [2022-04-28 10:39:11,878 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-28 10:39:11,878 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-28 10:39:11,878 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-28 10:39:11,879 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-28 10:39:11,879 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-28 10:39:11,879 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-28 10:39:11,880 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-28 10:39:11,880 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-28 10:39:11,880 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-28 10:39:11,881 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-28 10:39:11,881 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-28 10:39:11,882 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-28 10:39:11,882 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-28 10:39:11,882 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-28 10:39:11,882 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-28 10:39:11,883 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-28 10:39:11,883 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-28 10:39:11,883 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-28 10:39:11,884 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-28 10:39:11,884 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-28 10:39:11,884 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-28 10:39:11,885 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-28 10:39:11,885 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-28 10:39:11,885 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-28 10:39:11,886 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-28 10:39:11,886 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-28 10:39:11,886 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-28 10:39:11,887 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-28 10:39:11,887 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-28 10:39:11,887 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-28 10:39:11,888 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-28 10:39:11,888 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-28 10:39:11,888 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-28 10:39:11,889 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-28 10:39:11,889 INFO L290 TraceCheckUtils]: 39: Hoare triple {46651#(<= 26 |correct_version_#in~w|)} assume true; {46651#(<= 26 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:11,889 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-28 10:39:11,890 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-28 10:39:11,890 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-28 10:39:11,890 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-28 10:39:11,891 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-28 10:39:11,891 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-28 10:39:11,891 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-28 10:39:11,892 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-28 10:39:11,892 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-28 10:39:11,893 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-28 10:39:11,893 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-28 10:39:11,893 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-28 10:39:11,893 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-28 10:39:11,894 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-28 10:39:11,894 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-28 10:39:11,895 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-28 10:39:11,895 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-28 10:39:11,895 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-28 10:39:11,896 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-28 10:39:11,896 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-28 10:39:11,896 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-28 10:39:11,897 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-28 10:39:11,897 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-28 10:39:11,897 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-28 10:39:11,898 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-28 10:39:11,898 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-28 10:39:11,898 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-28 10:39:11,899 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-28 10:39:11,899 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-28 10:39:11,899 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-28 10:39:11,900 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-28 10:39:11,900 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-28 10:39:11,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {46563#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {46563#true} is VALID [2022-04-28 10:39:11,900 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-28 10:39:11,900 INFO L272 TraceCheckUtils]: 4: Hoare triple {46563#true} call #t~ret7 := main(); {46563#true} is VALID [2022-04-28 10:39:11,900 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46563#true} {46563#true} #93#return; {46563#true} is VALID [2022-04-28 10:39:11,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {46563#true} assume true; {46563#true} is VALID [2022-04-28 10:39:11,900 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-28 10:39:11,900 INFO L272 TraceCheckUtils]: 0: Hoare triple {46563#true} call ULTIMATE.init(); {46563#true} is VALID [2022-04-28 10:39:11,900 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-28 10:39:11,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [5626659] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:39:11,900 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:39:11,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [37, 36, 36] total 99 [2022-04-28 10:39:11,901 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:39:11,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [584625745] [2022-04-28 10:39:11,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [584625745] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:39:11,901 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:39:11,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [37] imperfect sequences [] total 37 [2022-04-28 10:39:11,901 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1171418097] [2022-04-28 10:39:11,901 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:39:11,901 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-28 10:39:11,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:39:11,901 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-28 10:39:11,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:11,949 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-28 10:39:11,949 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:11,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-28 10:39:11,950 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1559, Invalid=8143, Unknown=0, NotChecked=0, Total=9702 [2022-04-28 10:39:11,950 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-28 10:39:14,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:14,613 INFO L93 Difference]: Finished difference Result 105 states and 110 transitions. [2022-04-28 10:39:14,613 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2022-04-28 10:39:14,613 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-28 10:39:14,614 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:39:14,614 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-28 10:39:14,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 105 transitions. [2022-04-28 10:39:14,614 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-28 10:39:14,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 105 transitions. [2022-04-28 10:39:14,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 105 transitions. [2022-04-28 10:39:14,695 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-28 10:39:14,696 INFO L225 Difference]: With dead ends: 105 [2022-04-28 10:39:14,696 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 10:39:14,697 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 99 SyntacticMatches, 5 SemanticMatches, 131 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7896 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=2687, Invalid=14869, Unknown=0, NotChecked=0, Total=17556 [2022-04-28 10:39:14,697 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 111 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 665 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:39:14,697 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [112 Valid, 70 Invalid, 707 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 665 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:39:14,697 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 10:39:15,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 96. [2022-04-28 10:39:15,591 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:39:15,591 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-28 10:39:15,591 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-28 10:39:15,591 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-28 10:39:15,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:15,592 INFO L93 Difference]: Finished difference Result 96 states and 101 transitions. [2022-04-28 10:39:15,592 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2022-04-28 10:39:15,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:15,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:15,592 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-28 10:39:15,592 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-28 10:39:15,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:15,593 INFO L93 Difference]: Finished difference Result 96 states and 101 transitions. [2022-04-28 10:39:15,593 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2022-04-28 10:39:15,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:15,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:15,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:39:15,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:39:15,593 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-28 10:39:15,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 101 transitions. [2022-04-28 10:39:15,594 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 101 transitions. Word has length 81 [2022-04-28 10:39:15,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:39:15,594 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 101 transitions. [2022-04-28 10:39:15,594 INFO L496 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-28 10:39:15,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 101 transitions. [2022-04-28 10:39:15,787 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-28 10:39:15,787 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 101 transitions. [2022-04-28 10:39:15,787 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-28 10:39:15,788 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:39:15,788 INFO L195 NwaCegarLoop]: 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-28 10:39:15,804 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Forceful destruction successful, exit code 0 [2022-04-28 10:39:15,988 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 51 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable53 [2022-04-28 10:39:15,988 INFO L420 AbstractCegarLoop]: === Iteration 55 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:39:15,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:39:15,988 INFO L85 PathProgramCache]: Analyzing trace with hash 917109205, now seen corresponding path program 49 times [2022-04-28 10:39:15,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:15,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1908966189] [2022-04-28 10:39:15,990 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:39:15,991 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:39:15,991 INFO L85 PathProgramCache]: Analyzing trace with hash 917109205, now seen corresponding path program 50 times [2022-04-28 10:39:15,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:39:15,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [167875941] [2022-04-28 10:39:15,991 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:39:15,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:39:16,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:16,034 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:39:16,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:16,037 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-28 10:39:16,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {47878#true} assume true; {47878#true} is VALID [2022-04-28 10:39:16,037 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47878#true} {47878#true} #93#return; {47878#true} is VALID [2022-04-28 10:39:16,037 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:39:16,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:16,236 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-28 10:39:16,236 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-28 10:39:16,237 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-28 10:39:16,237 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-28 10:39:16,237 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-28 10:39:16,238 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-28 10:39:16,238 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-28 10:39:16,238 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-28 10:39:16,239 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-28 10:39:16,239 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-28 10:39:16,239 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-28 10:39:16,240 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-28 10:39:16,240 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-28 10:39:16,241 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-28 10:39:16,241 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-28 10:39:16,241 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-28 10:39:16,242 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-28 10:39:16,242 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-28 10:39:16,242 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-28 10:39:16,243 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-28 10:39:16,243 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-28 10:39:16,243 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-28 10:39:16,244 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-28 10:39:16,244 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-28 10:39:16,244 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-28 10:39:16,245 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-28 10:39:16,245 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-28 10:39:16,245 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-28 10:39:16,246 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-28 10:39:16,246 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-28 10:39:16,246 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-28 10:39:16,246 INFO L290 TraceCheckUtils]: 31: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume true; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-28 10:39:16,247 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-28 10:39:16,247 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-28 10:39:16,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:16,470 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-28 10:39:16,471 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-28 10:39:16,471 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-28 10:39:16,471 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-28 10:39:16,472 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-28 10:39:16,472 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-28 10:39:16,472 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-28 10:39:16,473 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-28 10:39:16,473 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-28 10:39:16,474 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-28 10:39:16,474 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-28 10:39:16,474 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-28 10:39:16,475 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-28 10:39:16,475 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-28 10:39:16,475 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-28 10:39:16,476 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-28 10:39:16,476 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-28 10:39:16,477 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-28 10:39:16,477 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-28 10:39:16,477 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-28 10:39:16,478 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-28 10:39:16,478 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-28 10:39:16,479 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-28 10:39:16,479 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-28 10:39:16,479 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-28 10:39:16,480 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-28 10:39:16,480 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-28 10:39:16,480 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-28 10:39:16,481 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-28 10:39:16,481 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-28 10:39:16,482 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-28 10:39:16,482 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-28 10:39:16,482 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-28 10:39:16,482 INFO L290 TraceCheckUtils]: 33: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume true; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-28 10:39:16,483 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-28 10:39:16,484 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-28 10:39:16,484 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-28 10:39:16,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {47878#true} assume true; {47878#true} is VALID [2022-04-28 10:39:16,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47878#true} {47878#true} #93#return; {47878#true} is VALID [2022-04-28 10:39:16,484 INFO L272 TraceCheckUtils]: 4: Hoare triple {47878#true} call #t~ret7 := main(); {47878#true} is VALID [2022-04-28 10:39:16,484 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-28 10:39:16,484 INFO L290 TraceCheckUtils]: 6: Hoare triple {47878#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {47878#true} is VALID [2022-04-28 10:39:16,484 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-28 10:39:16,484 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-28 10:39:16,485 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-28 10:39:16,485 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-28 10:39:16,485 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-28 10:39:16,486 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-28 10:39:16,486 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-28 10:39:16,486 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-28 10:39:16,487 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-28 10:39:16,487 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-28 10:39:16,487 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-28 10:39:16,488 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-28 10:39:16,488 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-28 10:39:16,488 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-28 10:39:16,489 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-28 10:39:16,489 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-28 10:39:16,489 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-28 10:39:16,490 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-28 10:39:16,490 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-28 10:39:16,490 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-28 10:39:16,491 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-28 10:39:16,491 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-28 10:39:16,492 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-28 10:39:16,492 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-28 10:39:16,492 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-28 10:39:16,493 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-28 10:39:16,493 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-28 10:39:16,493 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-28 10:39:16,494 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-28 10:39:16,494 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-28 10:39:16,495 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-28 10:39:16,495 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-28 10:39:16,495 INFO L290 TraceCheckUtils]: 39: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume true; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-28 10:39:16,496 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-28 10:39:16,496 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-28 10:39:16,496 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-28 10:39:16,496 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-28 10:39:16,497 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-28 10:39:16,497 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-28 10:39:16,497 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-28 10:39:16,498 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-28 10:39:16,498 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-28 10:39:16,498 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-28 10:39:16,499 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-28 10:39:16,499 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-28 10:39:16,499 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-28 10:39:16,500 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-28 10:39:16,500 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-28 10:39:16,500 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-28 10:39:16,501 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-28 10:39:16,501 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-28 10:39:16,501 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-28 10:39:16,502 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-28 10:39:16,502 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-28 10:39:16,502 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-28 10:39:16,503 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-28 10:39:16,503 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-28 10:39:16,504 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-28 10:39:16,504 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-28 10:39:16,504 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-28 10:39:16,504 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-28 10:39:16,505 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-28 10:39:16,505 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-28 10:39:16,506 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-28 10:39:16,506 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-28 10:39:16,506 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-28 10:39:16,506 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-28 10:39:16,507 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-28 10:39:16,507 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-28 10:39:16,507 INFO L290 TraceCheckUtils]: 76: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume true; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-28 10:39:16,508 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-28 10:39:16,508 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-28 10:39:16,508 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-28 10:39:16,508 INFO L290 TraceCheckUtils]: 80: Hoare triple {47879#false} ~cond := #in~cond; {47879#false} is VALID [2022-04-28 10:39:16,508 INFO L290 TraceCheckUtils]: 81: Hoare triple {47879#false} assume 0 == ~cond; {47879#false} is VALID [2022-04-28 10:39:16,508 INFO L290 TraceCheckUtils]: 82: Hoare triple {47879#false} assume !false; {47879#false} is VALID [2022-04-28 10:39:16,509 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-28 10:39:16,509 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:39:16,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [167875941] [2022-04-28 10:39:16,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [167875941] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:39:16,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1742440126] [2022-04-28 10:39:16,509 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:39:16,509 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:16,509 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:39:16,510 INFO L229 MonitoredProcess]: Starting monitored process 52 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:39:16,510 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Waiting until timeout for monitored process [2022-04-28 10:39:16,630 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:39:16,630 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:39:16,631 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 10:39:16,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:16,649 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:39:17,844 INFO L272 TraceCheckUtils]: 0: Hoare triple {47878#true} call ULTIMATE.init(); {47878#true} is VALID [2022-04-28 10:39:17,844 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-28 10:39:17,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {47878#true} assume true; {47878#true} is VALID [2022-04-28 10:39:17,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47878#true} {47878#true} #93#return; {47878#true} is VALID [2022-04-28 10:39:17,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {47878#true} call #t~ret7 := main(); {47878#true} is VALID [2022-04-28 10:39:17,844 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-28 10:39:17,844 INFO L290 TraceCheckUtils]: 6: Hoare triple {47878#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {47878#true} is VALID [2022-04-28 10:39:17,844 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-28 10:39:17,845 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-28 10:39:17,845 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-28 10:39:17,845 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-28 10:39:17,846 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-28 10:39:17,846 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-28 10:39:17,846 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-28 10:39:17,847 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-28 10:39:17,847 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-28 10:39:17,847 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-28 10:39:17,848 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-28 10:39:17,848 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-28 10:39:17,849 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-28 10:39:17,849 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-28 10:39:17,849 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-28 10:39:17,850 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-28 10:39:17,850 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-28 10:39:17,850 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-28 10:39:17,851 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-28 10:39:17,851 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-28 10:39:17,851 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-28 10:39:17,852 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-28 10:39:17,852 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-28 10:39:17,852 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-28 10:39:17,853 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-28 10:39:17,853 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-28 10:39:17,854 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-28 10:39:17,854 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-28 10:39:17,854 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-28 10:39:17,855 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-28 10:39:17,855 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-28 10:39:17,855 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-28 10:39:17,855 INFO L290 TraceCheckUtils]: 39: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume true; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-28 10:39:17,856 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-28 10:39:17,856 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-28 10:39:17,857 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-28 10:39:17,857 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-28 10:39:17,857 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-28 10:39:17,857 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-28 10:39:17,858 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-28 10:39:17,858 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-28 10:39:17,858 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-28 10:39:17,859 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-28 10:39:17,859 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-28 10:39:17,859 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-28 10:39:17,860 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-28 10:39:17,860 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-28 10:39:17,861 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-28 10:39:17,861 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-28 10:39:17,861 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-28 10:39:17,862 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-28 10:39:17,862 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-28 10:39:17,862 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-28 10:39:17,863 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-28 10:39:17,863 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-28 10:39:17,864 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-28 10:39:17,864 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-28 10:39:17,864 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-28 10:39:17,865 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-28 10:39:17,865 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-28 10:39:17,865 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-28 10:39:17,866 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-28 10:39:17,866 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-28 10:39:17,866 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-28 10:39:17,867 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-28 10:39:17,867 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-28 10:39:17,867 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-28 10:39:17,867 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-28 10:39:17,868 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-28 10:39:17,868 INFO L290 TraceCheckUtils]: 76: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume true; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-28 10:39:17,869 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-28 10:39:17,869 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-28 10:39:17,869 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-28 10:39:17,869 INFO L290 TraceCheckUtils]: 80: Hoare triple {47879#false} ~cond := #in~cond; {47879#false} is VALID [2022-04-28 10:39:17,869 INFO L290 TraceCheckUtils]: 81: Hoare triple {47879#false} assume 0 == ~cond; {47879#false} is VALID [2022-04-28 10:39:17,869 INFO L290 TraceCheckUtils]: 82: Hoare triple {47879#false} assume !false; {47879#false} is VALID [2022-04-28 10:39:17,869 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-28 10:39:17,869 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:39:24,883 INFO L290 TraceCheckUtils]: 82: Hoare triple {47879#false} assume !false; {47879#false} is VALID [2022-04-28 10:39:24,884 INFO L290 TraceCheckUtils]: 81: Hoare triple {47879#false} assume 0 == ~cond; {47879#false} is VALID [2022-04-28 10:39:24,884 INFO L290 TraceCheckUtils]: 80: Hoare triple {47879#false} ~cond := #in~cond; {47879#false} is VALID [2022-04-28 10:39:24,884 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-28 10:39:24,884 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-28 10:39:24,885 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-28 10:39:24,885 INFO L290 TraceCheckUtils]: 76: Hoare triple {47986#(<= 27 |student_version_#in~w|)} assume true; {47986#(<= 27 |student_version_#in~w|)} is VALID [2022-04-28 10:39:24,885 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-28 10:39:24,886 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-28 10:39:24,886 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-28 10:39:24,886 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-28 10:39:24,886 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-28 10:39:24,887 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-28 10:39:24,887 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-28 10:39:24,888 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-28 10:39:24,888 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-28 10:39:24,888 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-28 10:39:24,889 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-28 10:39:24,889 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-28 10:39:24,889 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-28 10:39:24,890 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-28 10:39:24,890 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-28 10:39:24,891 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-28 10:39:24,891 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-28 10:39:24,891 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-28 10:39:24,892 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-28 10:39:24,892 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-28 10:39:24,892 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-28 10:39:24,893 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-28 10:39:24,893 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-28 10:39:24,894 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-28 10:39:24,894 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-28 10:39:24,894 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-28 10:39:24,895 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-28 10:39:24,895 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-28 10:39:24,895 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-28 10:39:24,896 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-28 10:39:24,896 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-28 10:39:24,897 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-28 10:39:24,897 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-28 10:39:24,897 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-28 10:39:24,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-28 10:39:24,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-28 10:39:24,899 INFO L290 TraceCheckUtils]: 39: Hoare triple {47969#(<= |correct_version_#in~w| 26)} assume true; {47969#(<= |correct_version_#in~w| 26)} is VALID [2022-04-28 10:39:24,899 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-28 10:39:24,899 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-28 10:39:24,900 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-28 10:39:24,900 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-28 10:39:24,900 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-28 10:39:24,901 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-28 10:39:24,901 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-28 10:39:24,902 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-28 10:39:24,902 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-28 10:39:24,903 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-28 10:39:24,903 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-28 10:39:24,903 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-28 10:39:24,904 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-28 10:39:24,904 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-28 10:39:24,904 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-28 10:39:24,905 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-28 10:39:24,905 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-28 10:39:24,906 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-28 10:39:24,906 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-28 10:39:24,907 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-28 10:39:24,907 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-28 10:39:24,907 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-28 10:39:24,908 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-28 10:39:24,908 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-28 10:39:24,909 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-28 10:39:24,909 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-28 10:39:24,909 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-28 10:39:24,910 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-28 10:39:24,910 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-28 10:39:24,911 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-28 10:39:24,911 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-28 10:39:24,911 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-28 10:39:24,911 INFO L290 TraceCheckUtils]: 6: Hoare triple {47878#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {47878#true} is VALID [2022-04-28 10:39:24,911 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-28 10:39:24,911 INFO L272 TraceCheckUtils]: 4: Hoare triple {47878#true} call #t~ret7 := main(); {47878#true} is VALID [2022-04-28 10:39:24,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47878#true} {47878#true} #93#return; {47878#true} is VALID [2022-04-28 10:39:24,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {47878#true} assume true; {47878#true} is VALID [2022-04-28 10:39:24,911 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-28 10:39:24,911 INFO L272 TraceCheckUtils]: 0: Hoare triple {47878#true} call ULTIMATE.init(); {47878#true} is VALID [2022-04-28 10:39:24,912 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-28 10:39:24,912 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1742440126] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:39:24,912 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:39:24,912 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 35, 35] total 98 [2022-04-28 10:39:24,912 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:39:24,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1908966189] [2022-04-28 10:39:24,912 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1908966189] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:39:24,912 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:39:24,912 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [38] imperfect sequences [] total 38 [2022-04-28 10:39:24,912 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1513175653] [2022-04-28 10:39:24,912 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:39:24,913 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-28 10:39:24,913 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:39:24,913 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-28 10:39:24,969 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:24,969 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-04-28 10:39:24,969 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:24,969 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-04-28 10:39:24,977 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1581, Invalid=7925, Unknown=0, NotChecked=0, Total=9506 [2022-04-28 10:39:24,977 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-28 10:39:27,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:27,548 INFO L93 Difference]: Finished difference Result 111 states and 116 transitions. [2022-04-28 10:39:27,548 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-28 10:39:27,548 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-28 10:39:27,549 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:39:27,549 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-28 10:39:27,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 108 transitions. [2022-04-28 10:39:27,549 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-28 10:39:27,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 108 transitions. [2022-04-28 10:39:27,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 108 transitions. [2022-04-28 10:39:27,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:27,634 INFO L225 Difference]: With dead ends: 111 [2022-04-28 10:39:27,634 INFO L226 Difference]: Without dead ends: 99 [2022-04-28 10:39:27,636 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 105 SyntacticMatches, 5 SemanticMatches, 129 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7816 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=2696, Invalid=14334, Unknown=0, NotChecked=0, Total=17030 [2022-04-28 10:39:27,636 INFO L413 NwaCegarLoop]: 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-28 10:39:27,636 INFO L414 NwaCegarLoop]: 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-28 10:39:27,636 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-28 10:39:28,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 95. [2022-04-28 10:39:28,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:39:28,566 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-28 10:39:28,566 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-28 10:39:28,566 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-28 10:39:28,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:28,567 INFO L93 Difference]: Finished difference Result 99 states and 103 transitions. [2022-04-28 10:39:28,567 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 103 transitions. [2022-04-28 10:39:28,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:28,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:28,568 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-28 10:39:28,568 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-28 10:39:28,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:28,568 INFO L93 Difference]: Finished difference Result 99 states and 103 transitions. [2022-04-28 10:39:28,568 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 103 transitions. [2022-04-28 10:39:28,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:28,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:28,569 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:39:28,569 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:39:28,569 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-28 10:39:28,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 99 transitions. [2022-04-28 10:39:28,570 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 99 transitions. Word has length 83 [2022-04-28 10:39:28,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:39:28,570 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 99 transitions. [2022-04-28 10:39:28,570 INFO L496 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-28 10:39:28,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 99 transitions. [2022-04-28 10:39:28,772 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-28 10:39:28,772 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2022-04-28 10:39:28,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-28 10:39:28,772 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:39:28,772 INFO L195 NwaCegarLoop]: 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-28 10:39:28,790 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Ended with exit code 0 [2022-04-28 10:39:28,973 WARN L477 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-28 10:39:28,973 INFO L420 AbstractCegarLoop]: === Iteration 56 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:39:28,974 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:39:28,974 INFO L85 PathProgramCache]: Analyzing trace with hash 1761974709, now seen corresponding path program 49 times [2022-04-28 10:39:28,974 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:28,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [365773210] [2022-04-28 10:39:28,976 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:39:28,976 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:39:28,976 INFO L85 PathProgramCache]: Analyzing trace with hash 1761974709, now seen corresponding path program 50 times [2022-04-28 10:39:28,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:39:28,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2044188917] [2022-04-28 10:39:28,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:39:28,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:39:28,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:29,024 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:39:29,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:29,027 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-28 10:39:29,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {49220#true} assume true; {49220#true} is VALID [2022-04-28 10:39:29,027 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49220#true} {49220#true} #93#return; {49220#true} is VALID [2022-04-28 10:39:29,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:39:29,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:29,265 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-28 10:39:29,266 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-28 10:39:29,266 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-28 10:39:29,266 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-28 10:39:29,267 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-28 10:39:29,267 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-28 10:39:29,268 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-28 10:39:29,268 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-28 10:39:29,268 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-28 10:39:29,269 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-28 10:39:29,269 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-28 10:39:29,269 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-28 10:39:29,270 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-28 10:39:29,270 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-28 10:39:29,270 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-28 10:39:29,271 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-28 10:39:29,271 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-28 10:39:29,271 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-28 10:39:29,272 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-28 10:39:29,272 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-28 10:39:29,272 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-28 10:39:29,273 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-28 10:39:29,273 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-28 10:39:29,274 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-28 10:39:29,274 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-28 10:39:29,274 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-28 10:39:29,275 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-28 10:39:29,275 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-28 10:39:29,275 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-28 10:39:29,276 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-28 10:39:29,276 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-28 10:39:29,276 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-28 10:39:29,276 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-28 10:39:29,277 INFO L290 TraceCheckUtils]: 33: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume true; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:29,277 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-28 10:39:29,278 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-28 10:39:29,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:29,604 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-28 10:39:29,604 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-28 10:39:29,604 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-28 10:39:29,605 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-28 10:39:29,605 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-28 10:39:29,606 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-28 10:39:29,606 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-28 10:39:29,606 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-28 10:39:29,607 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-28 10:39:29,607 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-28 10:39:29,607 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-28 10:39:29,608 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-28 10:39:29,608 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-28 10:39:29,608 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-28 10:39:29,609 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-28 10:39:29,609 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-28 10:39:29,609 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-28 10:39:29,610 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-28 10:39:29,610 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-28 10:39:29,610 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-28 10:39:29,611 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-28 10:39:29,611 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-28 10:39:29,611 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-28 10:39:29,612 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-28 10:39:29,612 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-28 10:39:29,613 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-28 10:39:29,613 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-28 10:39:29,613 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-28 10:39:29,614 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-28 10:39:29,614 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-28 10:39:29,614 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-28 10:39:29,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume true; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-28 10:39:29,615 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-28 10:39:29,616 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-28 10:39:29,616 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-28 10:39:29,616 INFO L290 TraceCheckUtils]: 2: Hoare triple {49220#true} assume true; {49220#true} is VALID [2022-04-28 10:39:29,616 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49220#true} {49220#true} #93#return; {49220#true} is VALID [2022-04-28 10:39:29,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {49220#true} call #t~ret7 := main(); {49220#true} is VALID [2022-04-28 10:39:29,616 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-28 10:39:29,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {49220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {49220#true} is VALID [2022-04-28 10:39:29,616 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-28 10:39:29,622 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-28 10:39:29,623 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-28 10:39:29,623 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-28 10:39:29,623 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-28 10:39:29,624 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-28 10:39:29,624 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-28 10:39:29,624 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-28 10:39:29,625 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-28 10:39:29,625 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-28 10:39:29,625 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-28 10:39:29,626 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-28 10:39:29,626 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-28 10:39:29,626 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-28 10:39:29,627 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-28 10:39:29,627 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-28 10:39:29,628 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-28 10:39:29,628 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-28 10:39:29,628 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-28 10:39:29,629 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-28 10:39:29,629 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-28 10:39:29,629 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-28 10:39:29,630 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-28 10:39:29,630 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-28 10:39:29,630 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-28 10:39:29,631 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-28 10:39:29,631 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-28 10:39:29,631 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-28 10:39:29,632 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-28 10:39:29,632 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-28 10:39:29,633 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-28 10:39:29,633 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-28 10:39:29,633 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-28 10:39:29,633 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-28 10:39:29,634 INFO L290 TraceCheckUtils]: 41: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume true; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:29,634 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-28 10:39:29,635 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-28 10:39:29,635 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-28 10:39:29,635 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-28 10:39:29,636 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-28 10:39:29,636 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-28 10:39:29,636 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-28 10:39:29,637 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-28 10:39:29,637 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-28 10:39:29,637 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-28 10:39:29,638 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-28 10:39:29,638 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-28 10:39:29,638 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-28 10:39:29,639 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-28 10:39:29,639 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-28 10:39:29,639 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-28 10:39:29,640 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-28 10:39:29,640 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-28 10:39:29,640 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-28 10:39:29,641 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-28 10:39:29,641 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-28 10:39:29,641 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-28 10:39:29,642 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-28 10:39:29,642 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-28 10:39:29,642 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-28 10:39:29,643 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-28 10:39:29,643 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-28 10:39:29,643 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-28 10:39:29,644 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-28 10:39:29,644 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-28 10:39:29,645 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-28 10:39:29,645 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-28 10:39:29,645 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-28 10:39:29,645 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-28 10:39:29,646 INFO L290 TraceCheckUtils]: 76: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume true; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-28 10:39:29,646 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-28 10:39:29,646 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-28 10:39:29,646 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-28 10:39:29,647 INFO L290 TraceCheckUtils]: 80: Hoare triple {49221#false} ~cond := #in~cond; {49221#false} is VALID [2022-04-28 10:39:29,647 INFO L290 TraceCheckUtils]: 81: Hoare triple {49221#false} assume 0 == ~cond; {49221#false} is VALID [2022-04-28 10:39:29,647 INFO L290 TraceCheckUtils]: 82: Hoare triple {49221#false} assume !false; {49221#false} is VALID [2022-04-28 10:39:29,647 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-28 10:39:29,647 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:39:29,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2044188917] [2022-04-28 10:39:29,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2044188917] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:39:29,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [337088239] [2022-04-28 10:39:29,647 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:39:29,647 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:29,647 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:39:29,648 INFO L229 MonitoredProcess]: Starting monitored process 53 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:39:29,649 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (53)] Waiting until timeout for monitored process [2022-04-28 10:39:29,773 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:39:29,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:39:29,774 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 10:39:29,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:29,792 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:39:31,260 INFO L272 TraceCheckUtils]: 0: Hoare triple {49220#true} call ULTIMATE.init(); {49220#true} is VALID [2022-04-28 10:39:31,260 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-28 10:39:31,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {49220#true} assume true; {49220#true} is VALID [2022-04-28 10:39:31,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49220#true} {49220#true} #93#return; {49220#true} is VALID [2022-04-28 10:39:31,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {49220#true} call #t~ret7 := main(); {49220#true} is VALID [2022-04-28 10:39:31,260 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-28 10:39:31,260 INFO L290 TraceCheckUtils]: 6: Hoare triple {49220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {49220#true} is VALID [2022-04-28 10:39:31,260 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-28 10:39:31,261 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-28 10:39:31,261 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-28 10:39:31,261 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-28 10:39:31,262 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-28 10:39:31,262 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-28 10:39:31,262 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-28 10:39:31,263 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-28 10:39:31,263 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-28 10:39:31,263 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-28 10:39:31,264 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-28 10:39:31,264 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-28 10:39:31,265 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-28 10:39:31,265 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-28 10:39:31,265 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-28 10:39:31,266 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-28 10:39:31,266 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-28 10:39:31,266 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-28 10:39:31,267 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-28 10:39:31,267 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-28 10:39:31,268 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-28 10:39:31,268 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-28 10:39:31,268 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-28 10:39:31,269 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-28 10:39:31,269 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-28 10:39:31,269 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-28 10:39:31,270 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-28 10:39:31,270 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-28 10:39:31,270 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-28 10:39:31,271 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-28 10:39:31,271 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-28 10:39:31,271 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-28 10:39:31,272 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-28 10:39:31,272 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-28 10:39:31,272 INFO L290 TraceCheckUtils]: 41: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume true; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:31,273 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-28 10:39:31,273 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-28 10:39:31,273 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-28 10:39:31,274 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-28 10:39:31,274 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-28 10:39:31,274 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-28 10:39:31,275 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-28 10:39:31,275 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-28 10:39:31,275 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-28 10:39:31,276 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-28 10:39:31,276 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-28 10:39:31,276 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-28 10:39:31,277 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-28 10:39:31,277 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-28 10:39:31,278 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-28 10:39:31,278 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-28 10:39:31,278 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-28 10:39:31,279 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-28 10:39:31,279 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-28 10:39:31,279 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-28 10:39:31,280 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-28 10:39:31,280 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-28 10:39:31,280 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-28 10:39:31,281 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-28 10:39:31,281 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-28 10:39:31,281 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-28 10:39:31,282 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-28 10:39:31,282 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-28 10:39:31,283 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-28 10:39:31,283 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-28 10:39:31,283 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-28 10:39:31,284 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-28 10:39:31,284 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-28 10:39:31,284 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-28 10:39:31,284 INFO L290 TraceCheckUtils]: 76: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume true; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-28 10:39:31,285 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-28 10:39:31,285 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-28 10:39:31,285 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-28 10:39:31,285 INFO L290 TraceCheckUtils]: 80: Hoare triple {49221#false} ~cond := #in~cond; {49221#false} is VALID [2022-04-28 10:39:31,285 INFO L290 TraceCheckUtils]: 81: Hoare triple {49221#false} assume 0 == ~cond; {49221#false} is VALID [2022-04-28 10:39:31,285 INFO L290 TraceCheckUtils]: 82: Hoare triple {49221#false} assume !false; {49221#false} is VALID [2022-04-28 10:39:31,286 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-28 10:39:31,286 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:39:35,897 INFO L290 TraceCheckUtils]: 82: Hoare triple {49221#false} assume !false; {49221#false} is VALID [2022-04-28 10:39:35,897 INFO L290 TraceCheckUtils]: 81: Hoare triple {49221#false} assume 0 == ~cond; {49221#false} is VALID [2022-04-28 10:39:35,897 INFO L290 TraceCheckUtils]: 80: Hoare triple {49221#false} ~cond := #in~cond; {49221#false} is VALID [2022-04-28 10:39:35,897 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-28 10:39:35,897 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-28 10:39:35,898 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-28 10:39:35,898 INFO L290 TraceCheckUtils]: 76: Hoare triple {49328#(<= |student_version_#in~w| 26)} assume true; {49328#(<= |student_version_#in~w| 26)} is VALID [2022-04-28 10:39:35,899 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-28 10:39:35,899 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-28 10:39:35,899 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-28 10:39:35,900 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-28 10:39:35,900 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-28 10:39:35,900 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-28 10:39:35,901 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-28 10:39:35,901 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-28 10:39:35,901 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-28 10:39:35,902 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-28 10:39:35,902 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-28 10:39:35,903 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-28 10:39:35,903 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-28 10:39:35,903 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-28 10:39:35,904 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-28 10:39:35,904 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-28 10:39:35,904 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-28 10:39:35,905 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-28 10:39:35,905 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-28 10:39:35,905 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-28 10:39:35,906 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-28 10:39:35,906 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-28 10:39:35,907 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-28 10:39:35,907 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-28 10:39:35,907 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-28 10:39:35,908 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-28 10:39:35,908 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-28 10:39:35,908 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-28 10:39:35,909 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-28 10:39:35,909 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-28 10:39:35,909 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-28 10:39:35,909 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-28 10:39:35,910 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-28 10:39:35,911 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-28 10:39:35,911 INFO L290 TraceCheckUtils]: 41: Hoare triple {49311#(<= 27 |correct_version_#in~w|)} assume true; {49311#(<= 27 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:35,911 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-28 10:39:35,911 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-28 10:39:35,912 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-28 10:39:35,912 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-28 10:39:35,912 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-28 10:39:35,913 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-28 10:39:35,913 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-28 10:39:35,913 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-28 10:39:35,914 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-28 10:39:35,914 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-28 10:39:35,914 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-28 10:39:35,915 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-28 10:39:35,915 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-28 10:39:35,916 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-28 10:39:35,916 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-28 10:39:35,916 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-28 10:39:35,916 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-28 10:39:35,917 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-28 10:39:35,917 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-28 10:39:35,918 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-28 10:39:35,918 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-28 10:39:35,918 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-28 10:39:35,919 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-28 10:39:35,919 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-28 10:39:35,919 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-28 10:39:35,920 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-28 10:39:35,920 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-28 10:39:35,921 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-28 10:39:35,921 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-28 10:39:35,921 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-28 10:39:35,922 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-28 10:39:35,922 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-28 10:39:35,922 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-28 10:39:35,922 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-28 10:39:35,922 INFO L290 TraceCheckUtils]: 6: Hoare triple {49220#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {49220#true} is VALID [2022-04-28 10:39:35,922 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-28 10:39:35,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {49220#true} call #t~ret7 := main(); {49220#true} is VALID [2022-04-28 10:39:35,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49220#true} {49220#true} #93#return; {49220#true} is VALID [2022-04-28 10:39:35,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {49220#true} assume true; {49220#true} is VALID [2022-04-28 10:39:35,923 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-28 10:39:35,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {49220#true} call ULTIMATE.init(); {49220#true} is VALID [2022-04-28 10:39:35,923 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-28 10:39:35,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [337088239] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:39:35,923 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:39:35,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 35, 35] total 98 [2022-04-28 10:39:35,923 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:39:35,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [365773210] [2022-04-28 10:39:35,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [365773210] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:39:35,923 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:39:35,924 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [38] imperfect sequences [] total 38 [2022-04-28 10:39:35,924 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [27504931] [2022-04-28 10:39:35,924 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:39:35,924 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-28 10:39:35,924 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:39:35,924 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-28 10:39:35,975 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:35,975 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-04-28 10:39:35,975 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:35,975 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-04-28 10:39:35,976 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1581, Invalid=7925, Unknown=0, NotChecked=0, Total=9506 [2022-04-28 10:39:35,976 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-28 10:39:38,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:38,542 INFO L93 Difference]: Finished difference Result 105 states and 108 transitions. [2022-04-28 10:39:38,543 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-04-28 10:39:38,543 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-28 10:39:38,543 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:39:38,543 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-28 10:39:38,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 100 transitions. [2022-04-28 10:39:38,544 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-28 10:39:38,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 100 transitions. [2022-04-28 10:39:38,544 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 100 transitions. [2022-04-28 10:39:38,640 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:38,641 INFO L225 Difference]: With dead ends: 105 [2022-04-28 10:39:38,641 INFO L226 Difference]: Without dead ends: 95 [2022-04-28 10:39:38,642 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 105 SyntacticMatches, 5 SemanticMatches, 129 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7733 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=2696, Invalid=14334, Unknown=0, NotChecked=0, Total=17030 [2022-04-28 10:39:38,642 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 104 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 561 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:39:38,642 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [105 Valid, 65 Invalid, 605 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 561 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:39:38,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-04-28 10:39:39,594 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 94. [2022-04-28 10:39:39,594 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:39:39,594 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-28 10:39:39,594 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-28 10:39:39,594 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-28 10:39:39,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:39,595 INFO L93 Difference]: Finished difference Result 95 states and 98 transitions. [2022-04-28 10:39:39,595 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 98 transitions. [2022-04-28 10:39:39,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:39,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:39,595 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-28 10:39:39,595 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-28 10:39:39,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:39,596 INFO L93 Difference]: Finished difference Result 95 states and 98 transitions. [2022-04-28 10:39:39,596 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 98 transitions. [2022-04-28 10:39:39,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:39,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:39,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:39:39,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:39:39,597 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-28 10:39:39,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 97 transitions. [2022-04-28 10:39:39,602 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 97 transitions. Word has length 83 [2022-04-28 10:39:39,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:39:39,602 INFO L495 AbstractCegarLoop]: Abstraction has 94 states and 97 transitions. [2022-04-28 10:39:39,602 INFO L496 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-28 10:39:39,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 94 states and 97 transitions. [2022-04-28 10:39:39,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:39:39,804 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 97 transitions. [2022-04-28 10:39:39,805 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 10:39:39,805 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:39:39,805 INFO L195 NwaCegarLoop]: 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-28 10:39:39,821 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-28 10:39:40,005 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 53 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable55 [2022-04-28 10:39:40,006 INFO L420 AbstractCegarLoop]: === Iteration 57 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:39:40,006 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:39:40,006 INFO L85 PathProgramCache]: Analyzing trace with hash -707646537, now seen corresponding path program 51 times [2022-04-28 10:39:40,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:40,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1770245743] [2022-04-28 10:39:40,008 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:39:40,008 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:39:40,008 INFO L85 PathProgramCache]: Analyzing trace with hash -707646537, now seen corresponding path program 52 times [2022-04-28 10:39:40,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:39:40,009 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1545725301] [2022-04-28 10:39:40,009 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:39:40,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:39:40,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:40,059 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:39:40,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:40,061 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-28 10:39:40,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {50540#true} assume true; {50540#true} is VALID [2022-04-28 10:39:40,061 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {50540#true} {50540#true} #93#return; {50540#true} is VALID [2022-04-28 10:39:40,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:39:40,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:40,336 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-28 10:39:40,337 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-28 10:39:40,337 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-28 10:39:40,338 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-28 10:39:40,338 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-28 10:39:40,338 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-28 10:39:40,339 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-28 10:39:40,339 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-28 10:39:40,339 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-28 10:39:40,340 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-28 10:39:40,340 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-28 10:39:40,341 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-28 10:39:40,341 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-28 10:39:40,341 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-28 10:39:40,342 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-28 10:39:40,342 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-28 10:39:40,343 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-28 10:39:40,343 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-28 10:39:40,343 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-28 10:39:40,344 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-28 10:39:40,344 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-28 10:39:40,345 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-28 10:39:40,345 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-28 10:39:40,345 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-28 10:39:40,346 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-28 10:39:40,346 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-28 10:39:40,346 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-28 10:39:40,347 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-28 10:39:40,347 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-28 10:39:40,348 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-28 10:39:40,348 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-28 10:39:40,349 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-28 10:39:40,349 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-28 10:39:40,349 INFO L290 TraceCheckUtils]: 33: Hoare triple {50634#(<= |correct_version_#in~w| 27)} assume true; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-28 10:39:40,350 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-28 10:39:40,350 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-28 10:39:40,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:40,609 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-28 10:39:40,610 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-28 10:39:40,610 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-28 10:39:40,611 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-28 10:39:40,611 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-28 10:39:40,611 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-28 10:39:40,612 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-28 10:39:40,612 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-28 10:39:40,612 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-28 10:39:40,613 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-28 10:39:40,613 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-28 10:39:40,613 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-28 10:39:40,614 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-28 10:39:40,614 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-28 10:39:40,614 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-28 10:39:40,615 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-28 10:39:40,615 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-28 10:39:40,616 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-28 10:39:40,616 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-28 10:39:40,616 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-28 10:39:40,617 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-28 10:39:40,617 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-28 10:39:40,617 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-28 10:39:40,618 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-28 10:39:40,618 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-28 10:39:40,619 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-28 10:39:40,619 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-28 10:39:40,619 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-28 10:39:40,620 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-28 10:39:40,620 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-28 10:39:40,620 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-28 10:39:40,621 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-28 10:39:40,621 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-28 10:39:40,621 INFO L290 TraceCheckUtils]: 33: Hoare triple {50651#(<= 28 |student_version_#in~w|)} assume true; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-28 10:39:40,622 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-28 10:39:40,622 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-28 10:39:40,623 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-28 10:39:40,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {50540#true} assume true; {50540#true} is VALID [2022-04-28 10:39:40,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50540#true} {50540#true} #93#return; {50540#true} is VALID [2022-04-28 10:39:40,623 INFO L272 TraceCheckUtils]: 4: Hoare triple {50540#true} call #t~ret7 := main(); {50540#true} is VALID [2022-04-28 10:39:40,623 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-28 10:39:40,623 INFO L290 TraceCheckUtils]: 6: Hoare triple {50540#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {50540#true} is VALID [2022-04-28 10:39:40,623 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-28 10:39:40,623 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-28 10:39:40,623 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-28 10:39:40,624 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-28 10:39:40,624 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-28 10:39:40,624 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-28 10:39:40,625 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-28 10:39:40,625 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-28 10:39:40,626 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-28 10:39:40,626 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-28 10:39:40,626 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-28 10:39:40,627 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-28 10:39:40,627 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-28 10:39:40,627 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-28 10:39:40,628 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-28 10:39:40,628 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-28 10:39:40,628 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-28 10:39:40,629 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-28 10:39:40,629 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-28 10:39:40,629 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-28 10:39:40,630 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-28 10:39:40,630 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-28 10:39:40,631 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-28 10:39:40,631 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-28 10:39:40,631 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-28 10:39:40,632 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-28 10:39:40,632 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-28 10:39:40,632 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-28 10:39:40,633 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-28 10:39:40,633 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-28 10:39:40,634 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-28 10:39:40,634 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-28 10:39:40,634 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-28 10:39:40,635 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-28 10:39:40,635 INFO L290 TraceCheckUtils]: 41: Hoare triple {50634#(<= |correct_version_#in~w| 27)} assume true; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-28 10:39:40,636 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-28 10:39:40,636 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-28 10:39:40,636 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-28 10:39:40,636 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-28 10:39:40,637 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-28 10:39:40,637 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-28 10:39:40,637 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-28 10:39:40,638 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-28 10:39:40,638 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-28 10:39:40,638 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-28 10:39:40,639 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-28 10:39:40,639 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-28 10:39:40,639 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-28 10:39:40,640 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-28 10:39:40,640 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-28 10:39:40,640 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-28 10:39:40,641 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-28 10:39:40,641 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-28 10:39:40,641 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-28 10:39:40,642 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-28 10:39:40,642 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-28 10:39:40,642 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-28 10:39:40,643 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-28 10:39:40,643 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-28 10:39:40,644 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-28 10:39:40,644 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-28 10:39:40,644 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-28 10:39:40,645 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-28 10:39:40,645 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-28 10:39:40,645 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-28 10:39:40,646 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-28 10:39:40,646 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-28 10:39:40,646 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-28 10:39:40,647 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-28 10:39:40,647 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-28 10:39:40,647 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-28 10:39:40,647 INFO L290 TraceCheckUtils]: 78: Hoare triple {50651#(<= 28 |student_version_#in~w|)} assume true; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-28 10:39:40,648 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-28 10:39:40,648 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-28 10:39:40,648 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-28 10:39:40,648 INFO L290 TraceCheckUtils]: 82: Hoare triple {50541#false} ~cond := #in~cond; {50541#false} is VALID [2022-04-28 10:39:40,649 INFO L290 TraceCheckUtils]: 83: Hoare triple {50541#false} assume 0 == ~cond; {50541#false} is VALID [2022-04-28 10:39:40,649 INFO L290 TraceCheckUtils]: 84: Hoare triple {50541#false} assume !false; {50541#false} is VALID [2022-04-28 10:39:40,649 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-28 10:39:40,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:39:40,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1545725301] [2022-04-28 10:39:40,649 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1545725301] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:39:40,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [880678506] [2022-04-28 10:39:40,649 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:39:40,649 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:40,649 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:39:40,650 INFO L229 MonitoredProcess]: Starting monitored process 54 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:39:40,651 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Waiting until timeout for monitored process [2022-04-28 10:39:40,779 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:39:40,779 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:39:40,780 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 10:39:40,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:40,799 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:39:42,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {50540#true} call ULTIMATE.init(); {50540#true} is VALID [2022-04-28 10:39:42,238 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-28 10:39:42,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {50540#true} assume true; {50540#true} is VALID [2022-04-28 10:39:42,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50540#true} {50540#true} #93#return; {50540#true} is VALID [2022-04-28 10:39:42,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {50540#true} call #t~ret7 := main(); {50540#true} is VALID [2022-04-28 10:39:42,238 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-28 10:39:42,238 INFO L290 TraceCheckUtils]: 6: Hoare triple {50540#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {50540#true} is VALID [2022-04-28 10:39:42,238 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-28 10:39:42,239 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-28 10:39:42,239 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-28 10:39:42,239 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-28 10:39:42,240 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-28 10:39:42,240 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-28 10:39:42,240 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-28 10:39:42,241 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-28 10:39:42,241 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-28 10:39:42,242 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-28 10:39:42,242 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-28 10:39:42,242 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-28 10:39:42,243 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-28 10:39:42,243 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-28 10:39:42,243 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-28 10:39:42,244 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-28 10:39:42,244 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-28 10:39:42,244 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-28 10:39:42,245 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-28 10:39:42,245 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-28 10:39:42,246 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-28 10:39:42,246 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-28 10:39:42,246 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-28 10:39:42,247 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-28 10:39:42,247 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-28 10:39:42,248 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-28 10:39:42,248 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-28 10:39:42,248 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-28 10:39:42,249 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-28 10:39:42,249 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-28 10:39:42,249 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-28 10:39:42,250 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-28 10:39:42,250 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-28 10:39:42,251 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-28 10:39:42,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {50634#(<= |correct_version_#in~w| 27)} assume true; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-28 10:39:42,252 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-28 10:39:42,252 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-28 10:39:42,252 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-28 10:39:42,252 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-28 10:39:42,253 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-28 10:39:42,253 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-28 10:39:42,253 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-28 10:39:42,254 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-28 10:39:42,254 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-28 10:39:42,254 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-28 10:39:42,255 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-28 10:39:42,255 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-28 10:39:42,256 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-28 10:39:42,256 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-28 10:39:42,256 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-28 10:39:42,257 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-28 10:39:42,257 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-28 10:39:42,257 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-28 10:39:42,258 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-28 10:39:42,258 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-28 10:39:42,259 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-28 10:39:42,259 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-28 10:39:42,259 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-28 10:39:42,260 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-28 10:39:42,260 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-28 10:39:42,260 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-28 10:39:42,261 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-28 10:39:42,261 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-28 10:39:42,261 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-28 10:39:42,262 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-28 10:39:42,262 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-28 10:39:42,262 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-28 10:39:42,263 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-28 10:39:42,263 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-28 10:39:42,264 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-28 10:39:42,264 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-28 10:39:42,264 INFO L290 TraceCheckUtils]: 78: Hoare triple {50651#(<= 28 |student_version_#in~w|)} assume true; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-28 10:39:42,265 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-28 10:39:42,265 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-28 10:39:42,265 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-28 10:39:42,265 INFO L290 TraceCheckUtils]: 82: Hoare triple {50541#false} ~cond := #in~cond; {50541#false} is VALID [2022-04-28 10:39:42,265 INFO L290 TraceCheckUtils]: 83: Hoare triple {50541#false} assume 0 == ~cond; {50541#false} is VALID [2022-04-28 10:39:42,265 INFO L290 TraceCheckUtils]: 84: Hoare triple {50541#false} assume !false; {50541#false} is VALID [2022-04-28 10:39:42,265 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-28 10:39:42,265 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:39:50,761 INFO L290 TraceCheckUtils]: 84: Hoare triple {50541#false} assume !false; {50541#false} is VALID [2022-04-28 10:39:50,761 INFO L290 TraceCheckUtils]: 83: Hoare triple {50541#false} assume 0 == ~cond; {50541#false} is VALID [2022-04-28 10:39:50,761 INFO L290 TraceCheckUtils]: 82: Hoare triple {50541#false} ~cond := #in~cond; {50541#false} is VALID [2022-04-28 10:39:50,761 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-28 10:39:50,761 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-28 10:39:50,762 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-28 10:39:50,762 INFO L290 TraceCheckUtils]: 78: Hoare triple {50651#(<= 28 |student_version_#in~w|)} assume true; {50651#(<= 28 |student_version_#in~w|)} is VALID [2022-04-28 10:39:50,763 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-28 10:39:50,763 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-28 10:39:50,763 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-28 10:39:50,764 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-28 10:39:50,764 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-28 10:39:50,764 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-28 10:39:50,765 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-28 10:39:50,765 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-28 10:39:50,766 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-28 10:39:50,766 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-28 10:39:50,766 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-28 10:39:50,767 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-28 10:39:50,767 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-28 10:39:50,768 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-28 10:39:50,768 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-28 10:39:50,768 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-28 10:39:50,769 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-28 10:39:50,769 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-28 10:39:50,769 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-28 10:39:50,770 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-28 10:39:50,770 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-28 10:39:50,771 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-28 10:39:50,771 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-28 10:39:50,771 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-28 10:39:50,772 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-28 10:39:50,772 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-28 10:39:50,772 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-28 10:39:50,773 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-28 10:39:50,773 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-28 10:39:50,774 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-28 10:39:50,774 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-28 10:39:50,774 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-28 10:39:50,775 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-28 10:39:50,775 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-28 10:39:50,775 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-28 10:39:50,776 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-28 10:39:50,776 INFO L290 TraceCheckUtils]: 41: Hoare triple {50634#(<= |correct_version_#in~w| 27)} assume true; {50634#(<= |correct_version_#in~w| 27)} is VALID [2022-04-28 10:39:50,776 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-28 10:39:50,777 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-28 10:39:50,777 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-28 10:39:50,778 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-28 10:39:50,778 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-28 10:39:50,778 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-28 10:39:50,779 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-28 10:39:50,779 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-28 10:39:50,779 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-28 10:39:50,780 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-28 10:39:50,780 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-28 10:39:50,781 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-28 10:39:50,781 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-28 10:39:50,781 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-28 10:39:50,782 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-28 10:39:50,782 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-28 10:39:50,782 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-28 10:39:50,783 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-28 10:39:50,783 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-28 10:39:50,784 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-28 10:39:50,784 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-28 10:39:50,784 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-28 10:39:50,785 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-28 10:39:50,785 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-28 10:39:50,785 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-28 10:39:50,786 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-28 10:39:50,786 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-28 10:39:50,787 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-28 10:39:50,787 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-28 10:39:50,787 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-28 10:39:50,788 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-28 10:39:50,788 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-28 10:39:50,788 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-28 10:39:50,788 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-28 10:39:50,788 INFO L290 TraceCheckUtils]: 6: Hoare triple {50540#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {50540#true} is VALID [2022-04-28 10:39:50,788 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-28 10:39:50,789 INFO L272 TraceCheckUtils]: 4: Hoare triple {50540#true} call #t~ret7 := main(); {50540#true} is VALID [2022-04-28 10:39:50,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50540#true} {50540#true} #93#return; {50540#true} is VALID [2022-04-28 10:39:50,789 INFO L290 TraceCheckUtils]: 2: Hoare triple {50540#true} assume true; {50540#true} is VALID [2022-04-28 10:39:50,789 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-28 10:39:50,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {50540#true} call ULTIMATE.init(); {50540#true} is VALID [2022-04-28 10:39:50,789 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-28 10:39:50,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [880678506] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:39:50,789 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:39:50,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 38, 38] total 105 [2022-04-28 10:39:50,789 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:39:50,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1770245743] [2022-04-28 10:39:50,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1770245743] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:39:50,790 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:39:50,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [39] imperfect sequences [] total 39 [2022-04-28 10:39:50,790 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1339832013] [2022-04-28 10:39:50,790 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:39:50,790 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-28 10:39:50,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:39:50,790 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-28 10:39:50,844 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-28 10:39:50,844 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-28 10:39:50,844 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:50,845 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-28 10:39:50,845 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1757, Invalid=9163, Unknown=0, NotChecked=0, Total=10920 [2022-04-28 10:39:50,846 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-28 10:39:53,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:53,760 INFO L93 Difference]: Finished difference Result 114 states and 121 transitions. [2022-04-28 10:39:53,760 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-28 10:39:53,760 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-28 10:39:53,760 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:39:53,760 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-28 10:39:53,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 116 transitions. [2022-04-28 10:39:53,761 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-28 10:39:53,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 116 transitions. [2022-04-28 10:39:53,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 116 transitions. [2022-04-28 10:39:53,857 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-28 10:39:53,859 INFO L225 Difference]: With dead ends: 114 [2022-04-28 10:39:53,859 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 10:39:53,860 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 247 GetRequests, 103 SyntacticMatches, 5 SemanticMatches, 139 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8945 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=3022, Invalid=16718, Unknown=0, NotChecked=0, Total=19740 [2022-04-28 10:39:53,861 INFO L413 NwaCegarLoop]: 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-28 10:39:53,861 INFO L414 NwaCegarLoop]: 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-28 10:39:53,861 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 10:39:54,896 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 97. [2022-04-28 10:39:54,896 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:39:54,897 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-28 10:39:54,897 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-28 10:39:54,897 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-28 10:39:54,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:54,898 INFO L93 Difference]: Finished difference Result 103 states and 109 transitions. [2022-04-28 10:39:54,898 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 109 transitions. [2022-04-28 10:39:54,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:54,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:54,899 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-28 10:39:54,899 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-28 10:39:54,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:39:54,900 INFO L93 Difference]: Finished difference Result 103 states and 109 transitions. [2022-04-28 10:39:54,900 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 109 transitions. [2022-04-28 10:39:54,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:39:54,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:39:54,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:39:54,901 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:39:54,901 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-28 10:39:54,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 101 transitions. [2022-04-28 10:39:54,902 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 101 transitions. Word has length 85 [2022-04-28 10:39:54,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:39:54,902 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 101 transitions. [2022-04-28 10:39:54,902 INFO L496 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-28 10:39:54,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 101 transitions. [2022-04-28 10:39:55,178 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-28 10:39:55,178 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 101 transitions. [2022-04-28 10:39:55,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 10:39:55,178 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:39:55,179 INFO L195 NwaCegarLoop]: 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-28 10:39:55,196 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Forceful destruction successful, exit code 0 [2022-04-28 10:39:55,379 WARN L477 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-28 10:39:55,379 INFO L420 AbstractCegarLoop]: === Iteration 58 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:39:55,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:39:55,379 INFO L85 PathProgramCache]: Analyzing trace with hash 540567795, now seen corresponding path program 51 times [2022-04-28 10:39:55,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:39:55,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [989422456] [2022-04-28 10:39:55,382 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:39:55,382 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:39:55,382 INFO L85 PathProgramCache]: Analyzing trace with hash 540567795, now seen corresponding path program 52 times [2022-04-28 10:39:55,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:39:55,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [896300388] [2022-04-28 10:39:55,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:39:55,382 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:39:55,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:55,438 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:39:55,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:55,441 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-28 10:39:55,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {51927#true} assume true; {51927#true} is VALID [2022-04-28 10:39:55,441 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {51927#true} {51927#true} #93#return; {51927#true} is VALID [2022-04-28 10:39:55,441 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:39:55,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:55,674 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-28 10:39:55,675 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-28 10:39:55,675 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-28 10:39:55,676 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-28 10:39:55,676 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-28 10:39:55,676 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-28 10:39:55,677 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-28 10:39:55,677 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-28 10:39:55,677 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-28 10:39:55,678 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-28 10:39:55,678 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-28 10:39:55,679 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-28 10:39:55,679 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-28 10:39:55,679 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-28 10:39:55,680 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-28 10:39:55,680 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-28 10:39:55,680 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-28 10:39:55,681 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-28 10:39:55,681 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-28 10:39:55,681 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-28 10:39:55,682 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-28 10:39:55,682 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-28 10:39:55,682 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-28 10:39:55,683 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-28 10:39:55,683 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-28 10:39:55,684 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-28 10:39:55,684 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-28 10:39:55,684 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-28 10:39:55,685 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-28 10:39:55,685 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-28 10:39:55,685 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-28 10:39:55,686 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-28 10:39:55,686 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-28 10:39:55,686 INFO L290 TraceCheckUtils]: 33: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} assume true; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:55,687 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-28 10:39:55,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-28 10:39:55,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:56,074 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-28 10:39:56,075 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-28 10:39:56,075 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-28 10:39:56,076 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-28 10:39:56,076 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-28 10:39:56,076 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-28 10:39:56,077 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-28 10:39:56,077 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-28 10:39:56,077 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-28 10:39:56,078 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-28 10:39:56,078 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-28 10:39:56,078 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-28 10:39:56,079 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-28 10:39:56,079 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-28 10:39:56,079 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-28 10:39:56,080 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-28 10:39:56,080 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-28 10:39:56,081 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-28 10:39:56,081 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-28 10:39:56,081 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-28 10:39:56,082 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-28 10:39:56,082 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-28 10:39:56,082 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-28 10:39:56,083 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-28 10:39:56,083 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-28 10:39:56,083 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-28 10:39:56,084 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-28 10:39:56,084 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-28 10:39:56,084 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-28 10:39:56,085 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-28 10:39:56,085 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-28 10:39:56,086 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-28 10:39:56,086 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-28 10:39:56,086 INFO L290 TraceCheckUtils]: 33: Hoare triple {52038#(<= |student_version_#in~w| 27)} assume true; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-28 10:39:56,087 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-28 10:39:56,088 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-28 10:39:56,088 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-28 10:39:56,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {51927#true} assume true; {51927#true} is VALID [2022-04-28 10:39:56,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51927#true} {51927#true} #93#return; {51927#true} is VALID [2022-04-28 10:39:56,088 INFO L272 TraceCheckUtils]: 4: Hoare triple {51927#true} call #t~ret7 := main(); {51927#true} is VALID [2022-04-28 10:39:56,088 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-28 10:39:56,088 INFO L290 TraceCheckUtils]: 6: Hoare triple {51927#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {51927#true} is VALID [2022-04-28 10:39:56,088 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-28 10:39:56,088 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-28 10:39:56,089 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-28 10:39:56,089 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-28 10:39:56,089 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-28 10:39:56,090 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-28 10:39:56,090 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-28 10:39:56,090 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-28 10:39:56,091 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-28 10:39:56,091 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-28 10:39:56,091 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-28 10:39:56,092 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-28 10:39:56,092 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-28 10:39:56,092 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-28 10:39:56,093 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-28 10:39:56,093 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-28 10:39:56,094 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-28 10:39:56,094 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-28 10:39:56,094 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-28 10:39:56,095 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-28 10:39:56,095 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-28 10:39:56,095 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-28 10:39:56,096 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-28 10:39:56,096 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-28 10:39:56,096 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-28 10:39:56,097 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-28 10:39:56,097 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-28 10:39:56,097 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-28 10:39:56,098 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-28 10:39:56,098 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-28 10:39:56,099 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-28 10:39:56,099 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-28 10:39:56,099 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-28 10:39:56,099 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-28 10:39:56,100 INFO L290 TraceCheckUtils]: 41: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} assume true; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:56,101 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-28 10:39:56,101 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-28 10:39:56,101 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-28 10:39:56,101 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-28 10:39:56,102 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-28 10:39:56,102 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-28 10:39:56,102 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-28 10:39:56,103 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-28 10:39:56,103 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-28 10:39:56,103 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-28 10:39:56,104 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-28 10:39:56,104 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-28 10:39:56,104 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-28 10:39:56,105 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-28 10:39:56,105 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-28 10:39:56,106 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-28 10:39:56,106 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-28 10:39:56,106 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-28 10:39:56,107 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-28 10:39:56,107 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-28 10:39:56,107 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-28 10:39:56,108 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-28 10:39:56,108 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-28 10:39:56,108 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-28 10:39:56,109 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-28 10:39:56,109 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-28 10:39:56,109 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-28 10:39:56,110 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-28 10:39:56,110 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-28 10:39:56,111 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-28 10:39:56,111 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-28 10:39:56,111 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-28 10:39:56,112 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-28 10:39:56,112 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-28 10:39:56,113 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-28 10:39:56,113 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-28 10:39:56,113 INFO L290 TraceCheckUtils]: 78: Hoare triple {52038#(<= |student_version_#in~w| 27)} assume true; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-28 10:39:56,114 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-28 10:39:56,114 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-28 10:39:56,114 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-28 10:39:56,114 INFO L290 TraceCheckUtils]: 82: Hoare triple {51928#false} ~cond := #in~cond; {51928#false} is VALID [2022-04-28 10:39:56,114 INFO L290 TraceCheckUtils]: 83: Hoare triple {51928#false} assume 0 == ~cond; {51928#false} is VALID [2022-04-28 10:39:56,114 INFO L290 TraceCheckUtils]: 84: Hoare triple {51928#false} assume !false; {51928#false} is VALID [2022-04-28 10:39:56,114 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-28 10:39:56,114 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:39:56,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [896300388] [2022-04-28 10:39:56,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [896300388] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:39:56,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2134120098] [2022-04-28 10:39:56,115 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:39:56,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:39:56,115 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:39:56,116 INFO L229 MonitoredProcess]: Starting monitored process 55 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:39:56,116 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Waiting until timeout for monitored process [2022-04-28 10:39:56,249 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:39:56,249 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:39:56,250 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 10:39:56,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:39:56,270 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:39:58,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {51927#true} call ULTIMATE.init(); {51927#true} is VALID [2022-04-28 10:39:58,017 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-28 10:39:58,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {51927#true} assume true; {51927#true} is VALID [2022-04-28 10:39:58,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51927#true} {51927#true} #93#return; {51927#true} is VALID [2022-04-28 10:39:58,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {51927#true} call #t~ret7 := main(); {51927#true} is VALID [2022-04-28 10:39:58,017 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-28 10:39:58,017 INFO L290 TraceCheckUtils]: 6: Hoare triple {51927#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {51927#true} is VALID [2022-04-28 10:39:58,017 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-28 10:39:58,018 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-28 10:39:58,018 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-28 10:39:58,018 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-28 10:39:58,019 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-28 10:39:58,019 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-28 10:39:58,020 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-28 10:39:58,020 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-28 10:39:58,021 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-28 10:39:58,021 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-28 10:39:58,021 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-28 10:39:58,022 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-28 10:39:58,022 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-28 10:39:58,023 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-28 10:39:58,023 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-28 10:39:58,024 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-28 10:39:58,024 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-28 10:39:58,024 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-28 10:39:58,025 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-28 10:39:58,025 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-28 10:39:58,026 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-28 10:39:58,026 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-28 10:39:58,027 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-28 10:39:58,027 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-28 10:39:58,027 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-28 10:39:58,028 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-28 10:39:58,028 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-28 10:39:58,028 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-28 10:39:58,029 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-28 10:39:58,029 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-28 10:39:58,030 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-28 10:39:58,030 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-28 10:39:58,030 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-28 10:39:58,030 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-28 10:39:58,031 INFO L290 TraceCheckUtils]: 41: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} assume true; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-28 10:39:58,032 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-28 10:39:58,032 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-28 10:39:58,032 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-28 10:39:58,033 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-28 10:39:58,033 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-28 10:39:58,033 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-28 10:39:58,034 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-28 10:39:58,034 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-28 10:39:58,034 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-28 10:39:58,035 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-28 10:39:58,035 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-28 10:39:58,035 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-28 10:39:58,036 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-28 10:39:58,036 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-28 10:39:58,037 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-28 10:39:58,037 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-28 10:39:58,037 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-28 10:39:58,038 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-28 10:39:58,038 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-28 10:39:58,038 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-28 10:39:58,039 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-28 10:39:58,039 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-28 10:39:58,040 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-28 10:39:58,040 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-28 10:39:58,040 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-28 10:39:58,041 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-28 10:39:58,041 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-28 10:39:58,042 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-28 10:39:58,042 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-28 10:39:58,042 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-28 10:39:58,043 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-28 10:39:58,043 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-28 10:39:58,044 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-28 10:39:58,044 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-28 10:39:58,044 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-28 10:39:58,045 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-28 10:39:58,045 INFO L290 TraceCheckUtils]: 78: Hoare triple {52038#(<= |student_version_#in~w| 27)} assume true; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-28 10:39:58,046 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-28 10:39:58,046 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-28 10:39:58,046 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-28 10:39:58,046 INFO L290 TraceCheckUtils]: 82: Hoare triple {51928#false} ~cond := #in~cond; {51928#false} is VALID [2022-04-28 10:39:58,046 INFO L290 TraceCheckUtils]: 83: Hoare triple {51928#false} assume 0 == ~cond; {51928#false} is VALID [2022-04-28 10:39:58,046 INFO L290 TraceCheckUtils]: 84: Hoare triple {51928#false} assume !false; {51928#false} is VALID [2022-04-28 10:39:58,047 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-28 10:39:58,047 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:40:05,911 INFO L290 TraceCheckUtils]: 84: Hoare triple {51928#false} assume !false; {51928#false} is VALID [2022-04-28 10:40:05,911 INFO L290 TraceCheckUtils]: 83: Hoare triple {51928#false} assume 0 == ~cond; {51928#false} is VALID [2022-04-28 10:40:05,911 INFO L290 TraceCheckUtils]: 82: Hoare triple {51928#false} ~cond := #in~cond; {51928#false} is VALID [2022-04-28 10:40:05,912 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-28 10:40:05,912 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-28 10:40:05,912 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-28 10:40:05,913 INFO L290 TraceCheckUtils]: 78: Hoare triple {52038#(<= |student_version_#in~w| 27)} assume true; {52038#(<= |student_version_#in~w| 27)} is VALID [2022-04-28 10:40:05,913 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-28 10:40:05,913 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-28 10:40:05,913 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-28 10:40:05,914 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-28 10:40:05,914 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-28 10:40:05,915 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-28 10:40:05,915 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-28 10:40:05,915 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-28 10:40:05,916 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-28 10:40:05,916 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-28 10:40:05,917 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-28 10:40:05,917 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-28 10:40:05,917 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-28 10:40:05,918 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-28 10:40:05,918 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-28 10:40:05,918 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-28 10:40:05,919 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-28 10:40:05,919 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-28 10:40:05,919 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-28 10:40:05,920 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-28 10:40:05,920 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-28 10:40:05,921 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-28 10:40:05,921 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-28 10:40:05,921 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-28 10:40:05,922 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-28 10:40:05,922 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-28 10:40:05,922 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-28 10:40:05,923 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-28 10:40:05,923 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-28 10:40:05,924 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-28 10:40:05,924 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-28 10:40:05,924 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-28 10:40:05,925 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-28 10:40:05,925 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-28 10:40:05,925 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-28 10:40:05,926 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-28 10:40:05,926 INFO L290 TraceCheckUtils]: 41: Hoare triple {52020#(<= 28 |correct_version_#in~w|)} assume true; {52020#(<= 28 |correct_version_#in~w|)} is VALID [2022-04-28 10:40:05,926 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-28 10:40:05,927 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-28 10:40:05,927 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-28 10:40:05,927 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-28 10:40:05,928 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-28 10:40:05,928 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-28 10:40:05,929 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-28 10:40:05,929 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-28 10:40:05,929 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-28 10:40:05,930 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-28 10:40:05,930 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-28 10:40:05,930 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-28 10:40:05,931 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-28 10:40:05,931 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-28 10:40:05,931 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-28 10:40:05,932 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-28 10:40:05,932 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-28 10:40:05,933 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-28 10:40:05,933 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-28 10:40:05,933 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-28 10:40:05,934 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-28 10:40:05,934 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-28 10:40:05,934 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-28 10:40:05,935 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-28 10:40:05,935 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-28 10:40:05,935 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-28 10:40:05,936 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-28 10:40:05,936 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-28 10:40:05,937 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-28 10:40:05,937 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-28 10:40:05,937 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-28 10:40:05,938 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-28 10:40:05,938 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-28 10:40:05,938 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-28 10:40:05,938 INFO L290 TraceCheckUtils]: 6: Hoare triple {51927#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {51927#true} is VALID [2022-04-28 10:40:05,938 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-28 10:40:05,938 INFO L272 TraceCheckUtils]: 4: Hoare triple {51927#true} call #t~ret7 := main(); {51927#true} is VALID [2022-04-28 10:40:05,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51927#true} {51927#true} #93#return; {51927#true} is VALID [2022-04-28 10:40:05,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {51927#true} assume true; {51927#true} is VALID [2022-04-28 10:40:05,938 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-28 10:40:05,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {51927#true} call ULTIMATE.init(); {51927#true} is VALID [2022-04-28 10:40:05,939 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-28 10:40:05,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2134120098] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:40:05,939 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:40:05,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [39, 38, 38] total 105 [2022-04-28 10:40:05,939 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:40:05,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [989422456] [2022-04-28 10:40:05,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [989422456] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:40:05,939 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:40:05,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [39] imperfect sequences [] total 39 [2022-04-28 10:40:05,939 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [317257171] [2022-04-28 10:40:05,939 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:40:05,940 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-28 10:40:05,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:40:05,940 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-28 10:40:05,997 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-28 10:40:05,997 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 39 states [2022-04-28 10:40:05,997 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:05,998 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2022-04-28 10:40:05,998 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1757, Invalid=9163, Unknown=0, NotChecked=0, Total=10920 [2022-04-28 10:40:05,999 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-28 10:40:08,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:08,908 INFO L93 Difference]: Finished difference Result 109 states and 114 transitions. [2022-04-28 10:40:08,908 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2022-04-28 10:40:08,908 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-28 10:40:08,908 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:40:08,908 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-28 10:40:08,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 109 transitions. [2022-04-28 10:40:08,909 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-28 10:40:08,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 109 transitions. [2022-04-28 10:40:08,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 109 transitions. [2022-04-28 10:40:09,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:09,007 INFO L225 Difference]: With dead ends: 109 [2022-04-28 10:40:09,007 INFO L226 Difference]: Without dead ends: 100 [2022-04-28 10:40:09,008 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 247 GetRequests, 103 SyntacticMatches, 5 SemanticMatches, 139 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8960 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=3022, Invalid=16718, Unknown=0, NotChecked=0, Total=19740 [2022-04-28 10:40:09,009 INFO L413 NwaCegarLoop]: 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-28 10:40:09,009 INFO L414 NwaCegarLoop]: 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-28 10:40:09,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-28 10:40:10,100 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 100. [2022-04-28 10:40:10,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:40:10,101 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-28 10:40:10,101 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-28 10:40:10,101 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-28 10:40:10,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:10,102 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2022-04-28 10:40:10,102 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2022-04-28 10:40:10,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:10,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:10,102 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-28 10:40:10,102 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-28 10:40:10,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:10,103 INFO L93 Difference]: Finished difference Result 100 states and 105 transitions. [2022-04-28 10:40:10,103 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2022-04-28 10:40:10,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:10,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:10,103 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:40:10,103 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:40:10,103 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-28 10:40:10,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 105 transitions. [2022-04-28 10:40:10,104 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 105 transitions. Word has length 85 [2022-04-28 10:40:10,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:40:10,105 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 105 transitions. [2022-04-28 10:40:10,105 INFO L496 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-28 10:40:10,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 105 transitions. [2022-04-28 10:40:10,337 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-28 10:40:10,337 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 105 transitions. [2022-04-28 10:40:10,337 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-04-28 10:40:10,337 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:40:10,337 INFO L195 NwaCegarLoop]: 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-28 10:40:10,354 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Forceful destruction successful, exit code 0 [2022-04-28 10:40:10,538 WARN L477 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-28 10:40:10,538 INFO L420 AbstractCegarLoop]: === Iteration 59 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:40:10,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:40:10,538 INFO L85 PathProgramCache]: Analyzing trace with hash -1932612875, now seen corresponding path program 53 times [2022-04-28 10:40:10,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:10,538 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [793954348] [2022-04-28 10:40:10,540 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:40:10,540 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:40:10,540 INFO L85 PathProgramCache]: Analyzing trace with hash -1932612875, now seen corresponding path program 54 times [2022-04-28 10:40:10,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:40:10,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766230973] [2022-04-28 10:40:10,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:40:10,541 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:40:10,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:10,588 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:40:10,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:10,590 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-28 10:40:10,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {53304#true} assume true; {53304#true} is VALID [2022-04-28 10:40:10,590 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53304#true} {53304#true} #93#return; {53304#true} is VALID [2022-04-28 10:40:10,591 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:40:10,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:10,826 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-28 10:40:10,826 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-28 10:40:10,827 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-28 10:40:10,827 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-28 10:40:10,827 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-28 10:40:10,828 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-28 10:40:10,828 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-28 10:40:10,828 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-28 10:40:10,829 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-28 10:40:10,829 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-28 10:40:10,829 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-28 10:40:10,830 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-28 10:40:10,830 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-28 10:40:10,831 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-28 10:40:10,831 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-28 10:40:10,831 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-28 10:40:10,832 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-28 10:40:10,832 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-28 10:40:10,832 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-28 10:40:10,833 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-28 10:40:10,833 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-28 10:40:10,833 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-28 10:40:10,834 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-28 10:40:10,834 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-28 10:40:10,834 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-28 10:40:10,835 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-28 10:40:10,835 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-28 10:40:10,836 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-28 10:40:10,836 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-28 10:40:10,836 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-28 10:40:10,837 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-28 10:40:10,837 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-28 10:40:10,837 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-28 10:40:10,837 INFO L290 TraceCheckUtils]: 33: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume true; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-28 10:40:10,838 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-28 10:40:10,838 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-28 10:40:10,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:11,127 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-28 10:40:11,127 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-28 10:40:11,128 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-28 10:40:11,128 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-28 10:40:11,129 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-28 10:40:11,129 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-28 10:40:11,129 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-28 10:40:11,130 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-28 10:40:11,130 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-28 10:40:11,130 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-28 10:40:11,131 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-28 10:40:11,131 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-28 10:40:11,131 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-28 10:40:11,132 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-28 10:40:11,132 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-28 10:40:11,133 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-28 10:40:11,133 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-28 10:40:11,133 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-28 10:40:11,134 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-28 10:40:11,134 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-28 10:40:11,134 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-28 10:40:11,135 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-28 10:40:11,135 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-28 10:40:11,136 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-28 10:40:11,136 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-28 10:40:11,136 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-28 10:40:11,137 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-28 10:40:11,137 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-28 10:40:11,137 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-28 10:40:11,138 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-28 10:40:11,138 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-28 10:40:11,138 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-28 10:40:11,139 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-28 10:40:11,139 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-28 10:40:11,139 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-28 10:40:11,140 INFO L290 TraceCheckUtils]: 35: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume true; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-28 10:40:11,140 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-28 10:40:11,141 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-28 10:40:11,141 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-28 10:40:11,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {53304#true} assume true; {53304#true} is VALID [2022-04-28 10:40:11,141 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53304#true} {53304#true} #93#return; {53304#true} is VALID [2022-04-28 10:40:11,141 INFO L272 TraceCheckUtils]: 4: Hoare triple {53304#true} call #t~ret7 := main(); {53304#true} is VALID [2022-04-28 10:40:11,141 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-28 10:40:11,141 INFO L290 TraceCheckUtils]: 6: Hoare triple {53304#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {53304#true} is VALID [2022-04-28 10:40:11,141 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-28 10:40:11,142 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-28 10:40:11,142 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-28 10:40:11,142 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-28 10:40:11,143 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-28 10:40:11,143 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-28 10:40:11,143 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-28 10:40:11,144 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-28 10:40:11,144 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-28 10:40:11,144 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-28 10:40:11,145 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-28 10:40:11,145 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-28 10:40:11,146 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-28 10:40:11,146 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-28 10:40:11,146 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-28 10:40:11,147 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-28 10:40:11,147 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-28 10:40:11,147 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-28 10:40:11,148 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-28 10:40:11,148 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-28 10:40:11,148 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-28 10:40:11,149 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-28 10:40:11,149 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-28 10:40:11,150 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-28 10:40:11,150 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-28 10:40:11,150 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-28 10:40:11,151 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-28 10:40:11,151 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-28 10:40:11,151 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-28 10:40:11,152 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-28 10:40:11,152 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-28 10:40:11,153 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-28 10:40:11,153 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-28 10:40:11,153 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-28 10:40:11,153 INFO L290 TraceCheckUtils]: 41: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume true; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-28 10:40:11,154 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-28 10:40:11,154 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-28 10:40:11,155 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-28 10:40:11,155 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-28 10:40:11,155 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-28 10:40:11,155 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-28 10:40:11,156 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-28 10:40:11,156 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-28 10:40:11,157 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-28 10:40:11,157 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-28 10:40:11,157 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-28 10:40:11,158 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-28 10:40:11,158 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-28 10:40:11,158 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-28 10:40:11,159 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-28 10:40:11,159 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-28 10:40:11,159 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-28 10:40:11,160 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-28 10:40:11,160 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-28 10:40:11,161 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-28 10:40:11,161 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-28 10:40:11,161 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-28 10:40:11,162 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-28 10:40:11,162 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-28 10:40:11,162 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-28 10:40:11,163 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-28 10:40:11,163 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-28 10:40:11,163 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-28 10:40:11,164 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-28 10:40:11,164 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-28 10:40:11,164 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-28 10:40:11,165 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-28 10:40:11,165 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-28 10:40:11,166 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-28 10:40:11,166 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-28 10:40:11,166 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-28 10:40:11,166 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-28 10:40:11,167 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-28 10:40:11,167 INFO L290 TraceCheckUtils]: 80: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume true; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-28 10:40:11,168 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-28 10:40:11,168 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-28 10:40:11,168 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-28 10:40:11,168 INFO L290 TraceCheckUtils]: 84: Hoare triple {53305#false} ~cond := #in~cond; {53305#false} is VALID [2022-04-28 10:40:11,168 INFO L290 TraceCheckUtils]: 85: Hoare triple {53305#false} assume 0 == ~cond; {53305#false} is VALID [2022-04-28 10:40:11,168 INFO L290 TraceCheckUtils]: 86: Hoare triple {53305#false} assume !false; {53305#false} is VALID [2022-04-28 10:40:11,168 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-28 10:40:11,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:40:11,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766230973] [2022-04-28 10:40:11,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [766230973] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:40:11,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1955202643] [2022-04-28 10:40:11,169 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:40:11,169 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:40:11,169 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:40:11,170 INFO L229 MonitoredProcess]: Starting monitored process 56 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:40:11,170 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Waiting until timeout for monitored process [2022-04-28 10:40:11,310 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-04-28 10:40:11,311 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:40:11,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 10:40:11,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:11,331 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:40:12,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {53304#true} call ULTIMATE.init(); {53304#true} is VALID [2022-04-28 10:40:12,703 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-28 10:40:12,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {53304#true} assume true; {53304#true} is VALID [2022-04-28 10:40:12,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53304#true} {53304#true} #93#return; {53304#true} is VALID [2022-04-28 10:40:12,703 INFO L272 TraceCheckUtils]: 4: Hoare triple {53304#true} call #t~ret7 := main(); {53304#true} is VALID [2022-04-28 10:40:12,703 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-28 10:40:12,703 INFO L290 TraceCheckUtils]: 6: Hoare triple {53304#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {53304#true} is VALID [2022-04-28 10:40:12,704 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-28 10:40:12,704 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-28 10:40:12,704 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-28 10:40:12,705 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-28 10:40:12,705 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-28 10:40:12,705 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-28 10:40:12,706 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-28 10:40:12,706 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-28 10:40:12,707 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-28 10:40:12,707 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-28 10:40:12,708 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-28 10:40:12,708 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-28 10:40:12,708 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-28 10:40:12,709 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-28 10:40:12,709 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-28 10:40:12,710 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-28 10:40:12,710 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-28 10:40:12,710 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-28 10:40:12,711 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-28 10:40:12,711 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-28 10:40:12,712 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-28 10:40:12,712 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-28 10:40:12,713 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-28 10:40:12,713 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-28 10:40:12,713 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-28 10:40:12,714 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-28 10:40:12,714 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-28 10:40:12,715 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-28 10:40:12,715 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-28 10:40:12,715 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-28 10:40:12,716 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-28 10:40:12,716 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-28 10:40:12,716 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-28 10:40:12,717 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-28 10:40:12,717 INFO L290 TraceCheckUtils]: 41: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume true; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-28 10:40:12,718 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-28 10:40:12,718 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-28 10:40:12,718 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-28 10:40:12,718 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-28 10:40:12,719 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-28 10:40:12,719 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-28 10:40:12,719 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-28 10:40:12,720 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-28 10:40:12,720 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-28 10:40:12,721 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-28 10:40:12,721 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-28 10:40:12,721 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-28 10:40:12,722 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-28 10:40:12,722 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-28 10:40:12,723 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-28 10:40:12,723 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-28 10:40:12,723 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-28 10:40:12,724 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-28 10:40:12,724 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-28 10:40:12,724 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-28 10:40:12,725 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-28 10:40:12,725 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-28 10:40:12,726 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-28 10:40:12,726 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-28 10:40:12,727 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-28 10:40:12,727 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-28 10:40:12,727 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-28 10:40:12,728 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-28 10:40:12,728 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-28 10:40:12,729 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-28 10:40:12,729 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-28 10:40:12,729 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-28 10:40:12,730 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-28 10:40:12,730 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-28 10:40:12,731 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-28 10:40:12,731 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-28 10:40:12,731 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-28 10:40:12,731 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-28 10:40:12,732 INFO L290 TraceCheckUtils]: 80: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume true; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-28 10:40:12,733 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-28 10:40:12,733 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-28 10:40:12,733 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-28 10:40:12,733 INFO L290 TraceCheckUtils]: 84: Hoare triple {53305#false} ~cond := #in~cond; {53305#false} is VALID [2022-04-28 10:40:12,733 INFO L290 TraceCheckUtils]: 85: Hoare triple {53305#false} assume 0 == ~cond; {53305#false} is VALID [2022-04-28 10:40:12,733 INFO L290 TraceCheckUtils]: 86: Hoare triple {53305#false} assume !false; {53305#false} is VALID [2022-04-28 10:40:12,733 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-28 10:40:12,733 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:40:18,200 INFO L290 TraceCheckUtils]: 86: Hoare triple {53305#false} assume !false; {53305#false} is VALID [2022-04-28 10:40:18,200 INFO L290 TraceCheckUtils]: 85: Hoare triple {53305#false} assume 0 == ~cond; {53305#false} is VALID [2022-04-28 10:40:18,200 INFO L290 TraceCheckUtils]: 84: Hoare triple {53305#false} ~cond := #in~cond; {53305#false} is VALID [2022-04-28 10:40:18,200 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-28 10:40:18,200 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-28 10:40:18,201 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-28 10:40:18,201 INFO L290 TraceCheckUtils]: 80: Hoare triple {53418#(<= 29 |student_version_#in~w|)} assume true; {53418#(<= 29 |student_version_#in~w|)} is VALID [2022-04-28 10:40:18,202 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-28 10:40:18,202 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-28 10:40:18,202 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-28 10:40:18,202 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-28 10:40:18,203 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-28 10:40:18,203 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-28 10:40:18,203 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-28 10:40:18,204 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-28 10:40:18,204 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-28 10:40:18,205 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-28 10:40:18,205 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-28 10:40:18,205 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-28 10:40:18,206 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-28 10:40:18,206 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-28 10:40:18,206 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-28 10:40:18,207 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-28 10:40:18,207 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-28 10:40:18,208 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-28 10:40:18,208 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-28 10:40:18,208 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-28 10:40:18,209 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-28 10:40:18,209 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-28 10:40:18,209 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-28 10:40:18,210 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-28 10:40:18,210 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-28 10:40:18,210 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-28 10:40:18,211 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-28 10:40:18,211 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-28 10:40:18,211 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-28 10:40:18,212 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-28 10:40:18,212 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-28 10:40:18,213 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-28 10:40:18,213 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-28 10:40:18,213 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-28 10:40:18,214 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-28 10:40:18,214 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-28 10:40:18,214 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-28 10:40:18,215 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-28 10:40:18,215 INFO L290 TraceCheckUtils]: 41: Hoare triple {53400#(<= |correct_version_#in~w| 28)} assume true; {53400#(<= |correct_version_#in~w| 28)} is VALID [2022-04-28 10:40:18,215 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-28 10:40:18,216 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-28 10:40:18,216 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-28 10:40:18,216 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-28 10:40:18,217 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-28 10:40:18,217 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-28 10:40:18,217 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-28 10:40:18,218 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-28 10:40:18,218 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-28 10:40:18,218 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-28 10:40:18,219 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-28 10:40:18,219 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-28 10:40:18,219 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-28 10:40:18,220 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-28 10:40:18,220 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-28 10:40:18,221 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-28 10:40:18,221 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-28 10:40:18,221 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-28 10:40:18,222 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-28 10:40:18,222 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-28 10:40:18,222 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-28 10:40:18,223 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-28 10:40:18,223 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-28 10:40:18,223 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-28 10:40:18,224 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-28 10:40:18,224 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-28 10:40:18,224 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-28 10:40:18,225 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-28 10:40:18,225 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-28 10:40:18,226 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-28 10:40:18,226 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-28 10:40:18,226 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-28 10:40:18,227 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-28 10:40:18,227 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-28 10:40:18,227 INFO L290 TraceCheckUtils]: 6: Hoare triple {53304#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {53304#true} is VALID [2022-04-28 10:40:18,227 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-28 10:40:18,227 INFO L272 TraceCheckUtils]: 4: Hoare triple {53304#true} call #t~ret7 := main(); {53304#true} is VALID [2022-04-28 10:40:18,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53304#true} {53304#true} #93#return; {53304#true} is VALID [2022-04-28 10:40:18,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {53304#true} assume true; {53304#true} is VALID [2022-04-28 10:40:18,227 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-28 10:40:18,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {53304#true} call ULTIMATE.init(); {53304#true} is VALID [2022-04-28 10:40:18,227 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-28 10:40:18,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1955202643] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:40:18,227 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:40:18,228 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [40, 37, 37] total 104 [2022-04-28 10:40:18,228 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:40:18,228 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [793954348] [2022-04-28 10:40:18,228 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [793954348] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:40:18,228 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:40:18,228 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [40] imperfect sequences [] total 40 [2022-04-28 10:40:18,228 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [376910564] [2022-04-28 10:40:18,228 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:40:18,228 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-28 10:40:18,228 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:40:18,228 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-28 10:40:18,282 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-28 10:40:18,282 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 40 states [2022-04-28 10:40:18,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:18,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2022-04-28 10:40:18,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1781, Invalid=8931, Unknown=0, NotChecked=0, Total=10712 [2022-04-28 10:40:18,283 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-28 10:40:21,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:21,368 INFO L93 Difference]: Finished difference Result 115 states and 120 transitions. [2022-04-28 10:40:21,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-28 10:40:21,369 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-28 10:40:21,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:40:21,369 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-28 10:40:21,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 112 transitions. [2022-04-28 10:40:21,370 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-28 10:40:21,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 112 transitions. [2022-04-28 10:40:21,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 112 transitions. [2022-04-28 10:40:21,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:21,456 INFO L225 Difference]: With dead ends: 115 [2022-04-28 10:40:21,456 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 10:40:21,458 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 251 GetRequests, 109 SyntacticMatches, 5 SemanticMatches, 137 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8874 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=3033, Invalid=16149, Unknown=0, NotChecked=0, Total=19182 [2022-04-28 10:40:21,458 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 126 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 681 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:40:21,458 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [129 Valid, 77 Invalid, 724 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 681 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:40:21,458 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 10:40:22,474 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 99. [2022-04-28 10:40:22,475 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:40:22,475 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-28 10:40:22,475 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-28 10:40:22,475 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-28 10:40:22,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:22,476 INFO L93 Difference]: Finished difference Result 103 states and 107 transitions. [2022-04-28 10:40:22,476 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2022-04-28 10:40:22,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:22,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:22,476 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-28 10:40:22,476 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-28 10:40:22,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:22,477 INFO L93 Difference]: Finished difference Result 103 states and 107 transitions. [2022-04-28 10:40:22,477 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2022-04-28 10:40:22,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:22,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:22,478 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:40:22,478 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:40:22,478 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-28 10:40:22,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 103 transitions. [2022-04-28 10:40:22,479 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 103 transitions. Word has length 87 [2022-04-28 10:40:22,479 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:40:22,479 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 103 transitions. [2022-04-28 10:40:22,479 INFO L496 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-28 10:40:22,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 103 transitions. [2022-04-28 10:40:22,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:22,700 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 103 transitions. [2022-04-28 10:40:22,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-04-28 10:40:22,700 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:40:22,700 INFO L195 NwaCegarLoop]: 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-28 10:40:22,719 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Forceful destruction successful, exit code 0 [2022-04-28 10:40:22,900 WARN L477 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-28 10:40:22,901 INFO L420 AbstractCegarLoop]: === Iteration 60 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:40:22,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:40:22,901 INFO L85 PathProgramCache]: Analyzing trace with hash -1786688683, now seen corresponding path program 53 times [2022-04-28 10:40:22,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:22,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [367411282] [2022-04-28 10:40:22,904 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:40:22,904 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:40:22,904 INFO L85 PathProgramCache]: Analyzing trace with hash -1786688683, now seen corresponding path program 54 times [2022-04-28 10:40:22,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:40:22,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [634146976] [2022-04-28 10:40:22,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:40:22,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:40:22,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:22,953 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:40:22,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:22,956 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-28 10:40:22,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {54708#true} assume true; {54708#true} is VALID [2022-04-28 10:40:22,956 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {54708#true} {54708#true} #93#return; {54708#true} is VALID [2022-04-28 10:40:22,956 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:40:22,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:23,199 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-28 10:40:23,199 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-28 10:40:23,199 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-28 10:40:23,200 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-28 10:40:23,200 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-28 10:40:23,200 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-28 10:40:23,201 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-28 10:40:23,201 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-28 10:40:23,201 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-28 10:40:23,202 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-28 10:40:23,202 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-28 10:40:23,203 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-28 10:40:23,203 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-28 10:40:23,203 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-28 10:40:23,204 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-28 10:40:23,204 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-28 10:40:23,204 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-28 10:40:23,205 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-28 10:40:23,205 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-28 10:40:23,205 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-28 10:40:23,206 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-28 10:40:23,206 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-28 10:40:23,206 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-28 10:40:23,207 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-28 10:40:23,207 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-28 10:40:23,208 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-28 10:40:23,208 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-28 10:40:23,208 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-28 10:40:23,209 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-28 10:40:23,209 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-28 10:40:23,209 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-28 10:40:23,210 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-28 10:40:23,210 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-28 10:40:23,210 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-28 10:40:23,211 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-28 10:40:23,211 INFO L290 TraceCheckUtils]: 35: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume true; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-28 10:40:23,212 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-28 10:40:23,212 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 10:40:23,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:23,576 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-28 10:40:23,576 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-28 10:40:23,577 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-28 10:40:23,577 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-28 10:40:23,577 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-28 10:40:23,578 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-28 10:40:23,578 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-28 10:40:23,579 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-28 10:40:23,579 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-28 10:40:23,580 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-28 10:40:23,580 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-28 10:40:23,580 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-28 10:40:23,581 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-28 10:40:23,581 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-28 10:40:23,582 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-28 10:40:23,582 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-28 10:40:23,582 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-28 10:40:23,583 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-28 10:40:23,583 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-28 10:40:23,584 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-28 10:40:23,584 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-28 10:40:23,585 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-28 10:40:23,585 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-28 10:40:23,586 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-28 10:40:23,586 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-28 10:40:23,586 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-28 10:40:23,587 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-28 10:40:23,587 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-28 10:40:23,588 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-28 10:40:23,588 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-28 10:40:23,588 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-28 10:40:23,589 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-28 10:40:23,589 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-28 10:40:23,589 INFO L290 TraceCheckUtils]: 33: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume true; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-28 10:40:23,590 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-28 10:40:23,591 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-28 10:40:23,591 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-28 10:40:23,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {54708#true} assume true; {54708#true} is VALID [2022-04-28 10:40:23,591 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54708#true} {54708#true} #93#return; {54708#true} is VALID [2022-04-28 10:40:23,591 INFO L272 TraceCheckUtils]: 4: Hoare triple {54708#true} call #t~ret7 := main(); {54708#true} is VALID [2022-04-28 10:40:23,591 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-28 10:40:23,591 INFO L290 TraceCheckUtils]: 6: Hoare triple {54708#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {54708#true} is VALID [2022-04-28 10:40:23,591 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-28 10:40:23,592 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-28 10:40:23,592 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-28 10:40:23,592 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-28 10:40:23,593 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-28 10:40:23,593 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-28 10:40:23,594 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-28 10:40:23,594 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-28 10:40:23,594 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-28 10:40:23,595 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-28 10:40:23,595 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-28 10:40:23,596 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-28 10:40:23,596 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-28 10:40:23,596 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-28 10:40:23,597 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-28 10:40:23,597 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-28 10:40:23,597 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-28 10:40:23,598 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-28 10:40:23,598 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-28 10:40:23,598 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-28 10:40:23,599 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-28 10:40:23,599 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-28 10:40:23,600 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-28 10:40:23,600 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-28 10:40:23,601 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-28 10:40:23,601 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-28 10:40:23,601 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-28 10:40:23,602 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-28 10:40:23,602 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-28 10:40:23,603 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-28 10:40:23,603 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-28 10:40:23,604 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-28 10:40:23,604 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-28 10:40:23,604 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-28 10:40:23,605 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-28 10:40:23,605 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-28 10:40:23,605 INFO L290 TraceCheckUtils]: 43: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume true; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-28 10:40:23,606 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-28 10:40:23,607 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-28 10:40:23,607 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-28 10:40:23,607 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-28 10:40:23,608 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-28 10:40:23,608 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-28 10:40:23,609 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-28 10:40:23,609 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-28 10:40:23,610 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-28 10:40:23,610 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-28 10:40:23,610 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-28 10:40:23,611 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-28 10:40:23,611 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-28 10:40:23,612 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-28 10:40:23,612 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-28 10:40:23,612 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-28 10:40:23,613 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-28 10:40:23,613 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-28 10:40:23,614 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-28 10:40:23,614 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-28 10:40:23,615 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-28 10:40:23,615 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-28 10:40:23,615 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-28 10:40:23,616 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-28 10:40:23,616 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-28 10:40:23,617 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-28 10:40:23,617 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-28 10:40:23,617 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-28 10:40:23,618 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-28 10:40:23,618 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-28 10:40:23,619 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-28 10:40:23,619 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-28 10:40:23,620 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-28 10:40:23,620 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-28 10:40:23,620 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-28 10:40:23,621 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-28 10:40:23,621 INFO L290 TraceCheckUtils]: 80: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume true; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-28 10:40:23,622 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-28 10:40:23,622 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-28 10:40:23,622 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-28 10:40:23,622 INFO L290 TraceCheckUtils]: 84: Hoare triple {54709#false} ~cond := #in~cond; {54709#false} is VALID [2022-04-28 10:40:23,622 INFO L290 TraceCheckUtils]: 85: Hoare triple {54709#false} assume 0 == ~cond; {54709#false} is VALID [2022-04-28 10:40:23,622 INFO L290 TraceCheckUtils]: 86: Hoare triple {54709#false} assume !false; {54709#false} is VALID [2022-04-28 10:40:23,622 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-28 10:40:23,622 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:40:23,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [634146976] [2022-04-28 10:40:23,622 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [634146976] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:40:23,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [187519955] [2022-04-28 10:40:23,623 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:40:23,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:40:23,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:40:23,624 INFO L229 MonitoredProcess]: Starting monitored process 57 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:40:23,625 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Waiting until timeout for monitored process [2022-04-28 10:40:23,784 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-04-28 10:40:23,784 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:40:23,785 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 10:40:23,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:23,815 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:40:25,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {54708#true} call ULTIMATE.init(); {54708#true} is VALID [2022-04-28 10:40:25,425 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-28 10:40:25,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {54708#true} assume true; {54708#true} is VALID [2022-04-28 10:40:25,426 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54708#true} {54708#true} #93#return; {54708#true} is VALID [2022-04-28 10:40:25,426 INFO L272 TraceCheckUtils]: 4: Hoare triple {54708#true} call #t~ret7 := main(); {54708#true} is VALID [2022-04-28 10:40:25,426 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-28 10:40:25,426 INFO L290 TraceCheckUtils]: 6: Hoare triple {54708#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {54708#true} is VALID [2022-04-28 10:40:25,426 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-28 10:40:25,426 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-28 10:40:25,426 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-28 10:40:25,427 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-28 10:40:25,427 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-28 10:40:25,428 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-28 10:40:25,428 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-28 10:40:25,428 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-28 10:40:25,429 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-28 10:40:25,429 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-28 10:40:25,430 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-28 10:40:25,430 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-28 10:40:25,430 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-28 10:40:25,431 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-28 10:40:25,431 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-28 10:40:25,431 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-28 10:40:25,432 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-28 10:40:25,432 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-28 10:40:25,433 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-28 10:40:25,433 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-28 10:40:25,433 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-28 10:40:25,434 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-28 10:40:25,434 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-28 10:40:25,434 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-28 10:40:25,435 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-28 10:40:25,435 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-28 10:40:25,435 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-28 10:40:25,436 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-28 10:40:25,436 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-28 10:40:25,437 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-28 10:40:25,437 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-28 10:40:25,437 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-28 10:40:25,438 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-28 10:40:25,438 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-28 10:40:25,438 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-28 10:40:25,438 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-28 10:40:25,439 INFO L290 TraceCheckUtils]: 43: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume true; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-28 10:40:25,439 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-28 10:40:25,440 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-28 10:40:25,440 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-28 10:40:25,440 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-28 10:40:25,441 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-28 10:40:25,441 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-28 10:40:25,441 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-28 10:40:25,442 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-28 10:40:25,442 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-28 10:40:25,442 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-28 10:40:25,443 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-28 10:40:25,443 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-28 10:40:25,444 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-28 10:40:25,444 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-28 10:40:25,444 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-28 10:40:25,445 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-28 10:40:25,445 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-28 10:40:25,445 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-28 10:40:25,446 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-28 10:40:25,446 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-28 10:40:25,446 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-28 10:40:25,447 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-28 10:40:25,447 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-28 10:40:25,448 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-28 10:40:25,448 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-28 10:40:25,448 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-28 10:40:25,449 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-28 10:40:25,449 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-28 10:40:25,449 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-28 10:40:25,450 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-28 10:40:25,450 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-28 10:40:25,450 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-28 10:40:25,451 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-28 10:40:25,451 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-28 10:40:25,452 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-28 10:40:25,452 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-28 10:40:25,452 INFO L290 TraceCheckUtils]: 80: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume true; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-28 10:40:25,453 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-28 10:40:25,453 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-28 10:40:25,453 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-28 10:40:25,453 INFO L290 TraceCheckUtils]: 84: Hoare triple {54709#false} ~cond := #in~cond; {54709#false} is VALID [2022-04-28 10:40:25,453 INFO L290 TraceCheckUtils]: 85: Hoare triple {54709#false} assume 0 == ~cond; {54709#false} is VALID [2022-04-28 10:40:25,453 INFO L290 TraceCheckUtils]: 86: Hoare triple {54709#false} assume !false; {54709#false} is VALID [2022-04-28 10:40:25,453 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-28 10:40:25,453 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:40:30,336 INFO L290 TraceCheckUtils]: 86: Hoare triple {54709#false} assume !false; {54709#false} is VALID [2022-04-28 10:40:30,336 INFO L290 TraceCheckUtils]: 85: Hoare triple {54709#false} assume 0 == ~cond; {54709#false} is VALID [2022-04-28 10:40:30,336 INFO L290 TraceCheckUtils]: 84: Hoare triple {54709#false} ~cond := #in~cond; {54709#false} is VALID [2022-04-28 10:40:30,336 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-28 10:40:30,336 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-28 10:40:30,337 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-28 10:40:30,337 INFO L290 TraceCheckUtils]: 80: Hoare triple {54822#(<= |student_version_#in~w| 28)} assume true; {54822#(<= |student_version_#in~w| 28)} is VALID [2022-04-28 10:40:30,337 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-28 10:40:30,338 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-28 10:40:30,338 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-28 10:40:30,338 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-28 10:40:30,339 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-28 10:40:30,339 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-28 10:40:30,339 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-28 10:40:30,340 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-28 10:40:30,340 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-28 10:40:30,341 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-28 10:40:30,341 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-28 10:40:30,341 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-28 10:40:30,341 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-28 10:40:30,342 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-28 10:40:30,342 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-28 10:40:30,343 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-28 10:40:30,343 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-28 10:40:30,343 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-28 10:40:30,344 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-28 10:40:30,344 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-28 10:40:30,344 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-28 10:40:30,345 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-28 10:40:30,345 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-28 10:40:30,345 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-28 10:40:30,346 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-28 10:40:30,346 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-28 10:40:30,346 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-28 10:40:30,347 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-28 10:40:30,347 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-28 10:40:30,347 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-28 10:40:30,348 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-28 10:40:30,348 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-28 10:40:30,348 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-28 10:40:30,348 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-28 10:40:30,349 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-28 10:40:30,350 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-28 10:40:30,350 INFO L290 TraceCheckUtils]: 43: Hoare triple {54804#(<= 29 |correct_version_#in~w|)} assume true; {54804#(<= 29 |correct_version_#in~w|)} is VALID [2022-04-28 10:40:30,350 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-28 10:40:30,350 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-28 10:40:30,351 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-28 10:40:30,351 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-28 10:40:30,351 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-28 10:40:30,352 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-28 10:40:30,352 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-28 10:40:30,352 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-28 10:40:30,353 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-28 10:40:30,353 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-28 10:40:30,353 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-28 10:40:30,354 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-28 10:40:30,354 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-28 10:40:30,355 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-28 10:40:30,355 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-28 10:40:30,355 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-28 10:40:30,356 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-28 10:40:30,356 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-28 10:40:30,356 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-28 10:40:30,357 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-28 10:40:30,357 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-28 10:40:30,357 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-28 10:40:30,358 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-28 10:40:30,358 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-28 10:40:30,359 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-28 10:40:30,359 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-28 10:40:30,359 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-28 10:40:30,360 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-28 10:40:30,360 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-28 10:40:30,360 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-28 10:40:30,361 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-28 10:40:30,361 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-28 10:40:30,361 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-28 10:40:30,362 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-28 10:40:30,362 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-28 10:40:30,362 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-28 10:40:30,362 INFO L290 TraceCheckUtils]: 6: Hoare triple {54708#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {54708#true} is VALID [2022-04-28 10:40:30,362 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-28 10:40:30,362 INFO L272 TraceCheckUtils]: 4: Hoare triple {54708#true} call #t~ret7 := main(); {54708#true} is VALID [2022-04-28 10:40:30,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {54708#true} {54708#true} #93#return; {54708#true} is VALID [2022-04-28 10:40:30,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {54708#true} assume true; {54708#true} is VALID [2022-04-28 10:40:30,363 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-28 10:40:30,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {54708#true} call ULTIMATE.init(); {54708#true} is VALID [2022-04-28 10:40:30,363 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-28 10:40:30,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [187519955] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:40:30,363 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:40:30,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [40, 37, 37] total 104 [2022-04-28 10:40:30,363 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:40:30,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [367411282] [2022-04-28 10:40:30,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [367411282] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:40:30,363 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:40:30,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [40] imperfect sequences [] total 40 [2022-04-28 10:40:30,363 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [4934511] [2022-04-28 10:40:30,364 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:40:30,364 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-28 10:40:30,364 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:40:30,364 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-28 10:40:30,417 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-28 10:40:30,417 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 40 states [2022-04-28 10:40:30,417 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:30,417 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2022-04-28 10:40:30,418 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1781, Invalid=8931, Unknown=0, NotChecked=0, Total=10712 [2022-04-28 10:40:30,418 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-28 10:40:33,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:33,485 INFO L93 Difference]: Finished difference Result 109 states and 112 transitions. [2022-04-28 10:40:33,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-28 10:40:33,485 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-28 10:40:33,485 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:40:33,485 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-28 10:40:33,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 104 transitions. [2022-04-28 10:40:33,486 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-28 10:40:33,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 104 transitions. [2022-04-28 10:40:33,486 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 104 transitions. [2022-04-28 10:40:33,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:33,566 INFO L225 Difference]: With dead ends: 109 [2022-04-28 10:40:33,566 INFO L226 Difference]: Without dead ends: 99 [2022-04-28 10:40:33,568 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 251 GetRequests, 109 SyntacticMatches, 5 SemanticMatches, 137 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8785 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=3033, Invalid=16149, Unknown=0, NotChecked=0, Total=19182 [2022-04-28 10:40:33,568 INFO L413 NwaCegarLoop]: 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.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:40:33,568 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [109 Valid, 85 Invalid, 829 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 785 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:40:33,568 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-28 10:40:34,594 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 98. [2022-04-28 10:40:34,594 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:40:34,594 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-28 10:40:34,594 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-28 10:40:34,594 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-28 10:40:34,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:34,595 INFO L93 Difference]: Finished difference Result 99 states and 102 transitions. [2022-04-28 10:40:34,595 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 102 transitions. [2022-04-28 10:40:34,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:34,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:34,595 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-28 10:40:34,596 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-28 10:40:34,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:34,596 INFO L93 Difference]: Finished difference Result 99 states and 102 transitions. [2022-04-28 10:40:34,596 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 102 transitions. [2022-04-28 10:40:34,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:34,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:34,597 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:40:34,597 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:40:34,597 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-28 10:40:34,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 101 transitions. [2022-04-28 10:40:34,597 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 101 transitions. Word has length 87 [2022-04-28 10:40:34,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:40:34,598 INFO L495 AbstractCegarLoop]: Abstraction has 98 states and 101 transitions. [2022-04-28 10:40:34,598 INFO L496 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-28 10:40:34,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 98 states and 101 transitions. [2022-04-28 10:40:34,813 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-28 10:40:34,813 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 101 transitions. [2022-04-28 10:40:34,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 10:40:34,814 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:40:34,814 INFO L195 NwaCegarLoop]: 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-28 10:40:34,830 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Ended with exit code 0 [2022-04-28 10:40:35,014 WARN L477 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-28 10:40:35,014 INFO L420 AbstractCegarLoop]: === Iteration 61 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:40:35,015 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:40:35,015 INFO L85 PathProgramCache]: Analyzing trace with hash -769133225, now seen corresponding path program 55 times [2022-04-28 10:40:35,015 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:35,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1091333937] [2022-04-28 10:40:35,017 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:40:35,018 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:40:35,018 INFO L85 PathProgramCache]: Analyzing trace with hash -769133225, now seen corresponding path program 56 times [2022-04-28 10:40:35,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:40:35,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [389763011] [2022-04-28 10:40:35,018 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:40:35,018 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:40:35,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:35,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:40:35,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:35,064 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-28 10:40:35,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {56090#true} assume true; {56090#true} is VALID [2022-04-28 10:40:35,064 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {56090#true} {56090#true} #93#return; {56090#true} is VALID [2022-04-28 10:40:35,064 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:40:35,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:35,367 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-28 10:40:35,368 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-28 10:40:35,368 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-28 10:40:35,369 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-28 10:40:35,369 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-28 10:40:35,369 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-28 10:40:35,370 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-28 10:40:35,370 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-28 10:40:35,370 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-28 10:40:35,371 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-28 10:40:35,371 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-28 10:40:35,371 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-28 10:40:35,372 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-28 10:40:35,372 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-28 10:40:35,372 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-28 10:40:35,373 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-28 10:40:35,373 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-28 10:40:35,374 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-28 10:40:35,374 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-28 10:40:35,374 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-28 10:40:35,375 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-28 10:40:35,375 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-28 10:40:35,375 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-28 10:40:35,376 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-28 10:40:35,376 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-28 10:40:35,377 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-28 10:40:35,377 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-28 10:40:35,378 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-28 10:40:35,378 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-28 10:40:35,378 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-28 10:40:35,379 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-28 10:40:35,379 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-28 10:40:35,380 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-28 10:40:35,380 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-28 10:40:35,380 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-28 10:40:35,381 INFO L290 TraceCheckUtils]: 35: Hoare triple {56189#(<= |correct_version_#in~w| 29)} assume true; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-28 10:40:35,382 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-28 10:40:35,382 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 10:40:35,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:35,684 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-28 10:40:35,684 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-28 10:40:35,684 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-28 10:40:35,685 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-28 10:40:35,685 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-28 10:40:35,686 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-28 10:40:35,686 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-28 10:40:35,686 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-28 10:40:35,687 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-28 10:40:35,687 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-28 10:40:35,687 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-28 10:40:35,688 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-28 10:40:35,688 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-28 10:40:35,688 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-28 10:40:35,689 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-28 10:40:35,689 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-28 10:40:35,689 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-28 10:40:35,690 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-28 10:40:35,690 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-28 10:40:35,691 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-28 10:40:35,691 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-28 10:40:35,691 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-28 10:40:35,692 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-28 10:40:35,692 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-28 10:40:35,692 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-28 10:40:35,693 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-28 10:40:35,693 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-28 10:40:35,693 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-28 10:40:35,694 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-28 10:40:35,694 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-28 10:40:35,694 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-28 10:40:35,695 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-28 10:40:35,695 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-28 10:40:35,695 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-28 10:40:35,696 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-28 10:40:35,696 INFO L290 TraceCheckUtils]: 35: Hoare triple {56207#(<= 30 |student_version_#in~w|)} assume true; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-28 10:40:35,697 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-28 10:40:35,697 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-28 10:40:35,697 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-28 10:40:35,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {56090#true} assume true; {56090#true} is VALID [2022-04-28 10:40:35,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56090#true} {56090#true} #93#return; {56090#true} is VALID [2022-04-28 10:40:35,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {56090#true} call #t~ret7 := main(); {56090#true} is VALID [2022-04-28 10:40:35,698 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-28 10:40:35,698 INFO L290 TraceCheckUtils]: 6: Hoare triple {56090#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {56090#true} is VALID [2022-04-28 10:40:35,698 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-28 10:40:35,698 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-28 10:40:35,698 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-28 10:40:35,699 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-28 10:40:35,699 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-28 10:40:35,699 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-28 10:40:35,700 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-28 10:40:35,700 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-28 10:40:35,700 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-28 10:40:35,701 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-28 10:40:35,701 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-28 10:40:35,702 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-28 10:40:35,702 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-28 10:40:35,702 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-28 10:40:35,703 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-28 10:40:35,703 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-28 10:40:35,703 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-28 10:40:35,704 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-28 10:40:35,704 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-28 10:40:35,704 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-28 10:40:35,705 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-28 10:40:35,705 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-28 10:40:35,705 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-28 10:40:35,706 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-28 10:40:35,706 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-28 10:40:35,707 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-28 10:40:35,707 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-28 10:40:35,707 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-28 10:40:35,708 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-28 10:40:35,708 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-28 10:40:35,708 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-28 10:40:35,709 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-28 10:40:35,709 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-28 10:40:35,710 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-28 10:40:35,710 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-28 10:40:35,711 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-28 10:40:35,711 INFO L290 TraceCheckUtils]: 43: Hoare triple {56189#(<= |correct_version_#in~w| 29)} assume true; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-28 10:40:35,712 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-28 10:40:35,712 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-28 10:40:35,712 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-28 10:40:35,712 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-28 10:40:35,713 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-28 10:40:35,713 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-28 10:40:35,713 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-28 10:40:35,714 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-28 10:40:35,714 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-28 10:40:35,715 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-28 10:40:35,715 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-28 10:40:35,715 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-28 10:40:35,716 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-28 10:40:35,716 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-28 10:40:35,717 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-28 10:40:35,717 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-28 10:40:35,717 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-28 10:40:35,718 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-28 10:40:35,718 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-28 10:40:35,718 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-28 10:40:35,719 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-28 10:40:35,719 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-28 10:40:35,719 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-28 10:40:35,720 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-28 10:40:35,720 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-28 10:40:35,720 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-28 10:40:35,721 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-28 10:40:35,721 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-28 10:40:35,722 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-28 10:40:35,722 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-28 10:40:35,722 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-28 10:40:35,723 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-28 10:40:35,723 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-28 10:40:35,723 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-28 10:40:35,724 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-28 10:40:35,724 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-28 10:40:35,724 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-28 10:40:35,725 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-28 10:40:35,725 INFO L290 TraceCheckUtils]: 82: Hoare triple {56207#(<= 30 |student_version_#in~w|)} assume true; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-28 10:40:35,726 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-28 10:40:35,726 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-28 10:40:35,726 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-28 10:40:35,726 INFO L290 TraceCheckUtils]: 86: Hoare triple {56091#false} ~cond := #in~cond; {56091#false} is VALID [2022-04-28 10:40:35,726 INFO L290 TraceCheckUtils]: 87: Hoare triple {56091#false} assume 0 == ~cond; {56091#false} is VALID [2022-04-28 10:40:35,726 INFO L290 TraceCheckUtils]: 88: Hoare triple {56091#false} assume !false; {56091#false} is VALID [2022-04-28 10:40:35,727 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-28 10:40:35,727 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:40:35,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [389763011] [2022-04-28 10:40:35,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [389763011] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:40:35,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [578177966] [2022-04-28 10:40:35,727 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:40:35,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:40:35,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:40:35,728 INFO L229 MonitoredProcess]: Starting monitored process 58 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:40:35,729 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Waiting until timeout for monitored process [2022-04-28 10:40:35,871 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:40:35,871 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:40:35,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 10:40:35,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:35,899 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:40:37,497 INFO L272 TraceCheckUtils]: 0: Hoare triple {56090#true} call ULTIMATE.init(); {56090#true} is VALID [2022-04-28 10:40:37,497 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-28 10:40:37,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {56090#true} assume true; {56090#true} is VALID [2022-04-28 10:40:37,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56090#true} {56090#true} #93#return; {56090#true} is VALID [2022-04-28 10:40:37,498 INFO L272 TraceCheckUtils]: 4: Hoare triple {56090#true} call #t~ret7 := main(); {56090#true} is VALID [2022-04-28 10:40:37,498 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-28 10:40:37,498 INFO L290 TraceCheckUtils]: 6: Hoare triple {56090#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {56090#true} is VALID [2022-04-28 10:40:37,498 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-28 10:40:37,498 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-28 10:40:37,498 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-28 10:40:37,499 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-28 10:40:37,499 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-28 10:40:37,500 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-28 10:40:37,500 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-28 10:40:37,500 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-28 10:40:37,501 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-28 10:40:37,501 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-28 10:40:37,501 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-28 10:40:37,502 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-28 10:40:37,502 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-28 10:40:37,502 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-28 10:40:37,503 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-28 10:40:37,503 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-28 10:40:37,504 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-28 10:40:37,504 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-28 10:40:37,504 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-28 10:40:37,505 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-28 10:40:37,505 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-28 10:40:37,505 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-28 10:40:37,506 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-28 10:40:37,506 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-28 10:40:37,507 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-28 10:40:37,507 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-28 10:40:37,507 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-28 10:40:37,508 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-28 10:40:37,508 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-28 10:40:37,508 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-28 10:40:37,509 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-28 10:40:37,509 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-28 10:40:37,509 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-28 10:40:37,510 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-28 10:40:37,510 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-28 10:40:37,510 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-28 10:40:37,511 INFO L290 TraceCheckUtils]: 43: Hoare triple {56189#(<= |correct_version_#in~w| 29)} assume true; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-28 10:40:37,512 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-28 10:40:37,512 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-28 10:40:37,512 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-28 10:40:37,512 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-28 10:40:37,513 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-28 10:40:37,513 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-28 10:40:37,513 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-28 10:40:37,514 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-28 10:40:37,514 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-28 10:40:37,515 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-28 10:40:37,515 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-28 10:40:37,515 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-28 10:40:37,516 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-28 10:40:37,516 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-28 10:40:37,517 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-28 10:40:37,517 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-28 10:40:37,518 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-28 10:40:37,518 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-28 10:40:37,519 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-28 10:40:37,519 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-28 10:40:37,519 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-28 10:40:37,520 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-28 10:40:37,520 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-28 10:40:37,521 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-28 10:40:37,521 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-28 10:40:37,522 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-28 10:40:37,522 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-28 10:40:37,522 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-28 10:40:37,523 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-28 10:40:37,523 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-28 10:40:37,524 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-28 10:40:37,524 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-28 10:40:37,524 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-28 10:40:37,525 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-28 10:40:37,525 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-28 10:40:37,525 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-28 10:40:37,526 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-28 10:40:37,526 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-28 10:40:37,526 INFO L290 TraceCheckUtils]: 82: Hoare triple {56207#(<= 30 |student_version_#in~w|)} assume true; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-28 10:40:37,527 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-28 10:40:37,527 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-28 10:40:37,527 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-28 10:40:37,527 INFO L290 TraceCheckUtils]: 86: Hoare triple {56091#false} ~cond := #in~cond; {56091#false} is VALID [2022-04-28 10:40:37,527 INFO L290 TraceCheckUtils]: 87: Hoare triple {56091#false} assume 0 == ~cond; {56091#false} is VALID [2022-04-28 10:40:37,527 INFO L290 TraceCheckUtils]: 88: Hoare triple {56091#false} assume !false; {56091#false} is VALID [2022-04-28 10:40:37,528 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-28 10:40:37,528 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:40:46,546 INFO L290 TraceCheckUtils]: 88: Hoare triple {56091#false} assume !false; {56091#false} is VALID [2022-04-28 10:40:46,546 INFO L290 TraceCheckUtils]: 87: Hoare triple {56091#false} assume 0 == ~cond; {56091#false} is VALID [2022-04-28 10:40:46,546 INFO L290 TraceCheckUtils]: 86: Hoare triple {56091#false} ~cond := #in~cond; {56091#false} is VALID [2022-04-28 10:40:46,546 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-28 10:40:46,546 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-28 10:40:46,547 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-28 10:40:46,547 INFO L290 TraceCheckUtils]: 82: Hoare triple {56207#(<= 30 |student_version_#in~w|)} assume true; {56207#(<= 30 |student_version_#in~w|)} is VALID [2022-04-28 10:40:46,548 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-28 10:40:46,548 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-28 10:40:46,548 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-28 10:40:46,549 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-28 10:40:46,549 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-28 10:40:46,549 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-28 10:40:46,550 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-28 10:40:46,550 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-28 10:40:46,550 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-28 10:40:46,551 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-28 10:40:46,551 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-28 10:40:46,552 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-28 10:40:46,552 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-28 10:40:46,552 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-28 10:40:46,553 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-28 10:40:46,553 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-28 10:40:46,553 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-28 10:40:46,554 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-28 10:40:46,554 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-28 10:40:46,555 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-28 10:40:46,555 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-28 10:40:46,555 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-28 10:40:46,556 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-28 10:40:46,556 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-28 10:40:46,556 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-28 10:40:46,557 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-28 10:40:46,557 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-28 10:40:46,557 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-28 10:40:46,558 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-28 10:40:46,558 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-28 10:40:46,558 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-28 10:40:46,559 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-28 10:40:46,559 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-28 10:40:46,560 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-28 10:40:46,560 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-28 10:40:46,560 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-28 10:40:46,560 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-28 10:40:46,561 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-28 10:40:46,561 INFO L290 TraceCheckUtils]: 43: Hoare triple {56189#(<= |correct_version_#in~w| 29)} assume true; {56189#(<= |correct_version_#in~w| 29)} is VALID [2022-04-28 10:40:46,562 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-28 10:40:46,562 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-28 10:40:46,562 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-28 10:40:46,563 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-28 10:40:46,563 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-28 10:40:46,563 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-28 10:40:46,564 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-28 10:40:46,564 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-28 10:40:46,564 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-28 10:40:46,565 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-28 10:40:46,565 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-28 10:40:46,566 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-28 10:40:46,566 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-28 10:40:46,566 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-28 10:40:46,567 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-28 10:40:46,567 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-28 10:40:46,567 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-28 10:40:46,568 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-28 10:40:46,568 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-28 10:40:46,569 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-28 10:40:46,569 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-28 10:40:46,569 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-28 10:40:46,569 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-28 10:40:46,570 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-28 10:40:46,570 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-28 10:40:46,571 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-28 10:40:46,571 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-28 10:40:46,571 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-28 10:40:46,572 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-28 10:40:46,572 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-28 10:40:46,572 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-28 10:40:46,573 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-28 10:40:46,573 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-28 10:40:46,573 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-28 10:40:46,574 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-28 10:40:46,574 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-28 10:40:46,574 INFO L290 TraceCheckUtils]: 6: Hoare triple {56090#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {56090#true} is VALID [2022-04-28 10:40:46,574 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-28 10:40:46,574 INFO L272 TraceCheckUtils]: 4: Hoare triple {56090#true} call #t~ret7 := main(); {56090#true} is VALID [2022-04-28 10:40:46,574 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56090#true} {56090#true} #93#return; {56090#true} is VALID [2022-04-28 10:40:46,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {56090#true} assume true; {56090#true} is VALID [2022-04-28 10:40:46,574 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-28 10:40:46,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {56090#true} call ULTIMATE.init(); {56090#true} is VALID [2022-04-28 10:40:46,574 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-28 10:40:46,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [578177966] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:40:46,575 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:40:46,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 40, 40] total 111 [2022-04-28 10:40:46,575 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:40:46,575 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1091333937] [2022-04-28 10:40:46,575 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1091333937] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:40:46,575 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:40:46,575 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [41] imperfect sequences [] total 41 [2022-04-28 10:40:46,575 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [49390874] [2022-04-28 10:40:46,575 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:40:46,575 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-28 10:40:46,576 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:40:46,576 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-28 10:40:46,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:40:46,631 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-28 10:40:46,631 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:46,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-28 10:40:46,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1967, Invalid=10243, Unknown=0, NotChecked=0, Total=12210 [2022-04-28 10:40:46,633 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-28 10:40:49,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:49,949 INFO L93 Difference]: Finished difference Result 118 states and 125 transitions. [2022-04-28 10:40:49,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-04-28 10:40:49,949 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-28 10:40:49,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:40:49,949 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-28 10:40:49,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 120 transitions. [2022-04-28 10:40:49,950 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-28 10:40:49,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 120 transitions. [2022-04-28 10:40:49,951 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 120 transitions. [2022-04-28 10:40:50,045 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-28 10:40:50,046 INFO L225 Difference]: With dead ends: 118 [2022-04-28 10:40:50,046 INFO L226 Difference]: Without dead ends: 107 [2022-04-28 10:40:50,048 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 259 GetRequests, 107 SyntacticMatches, 5 SemanticMatches, 147 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10075 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=3377, Invalid=18675, Unknown=0, NotChecked=0, Total=22052 [2022-04-28 10:40:50,048 INFO L413 NwaCegarLoop]: 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-28 10:40:50,048 INFO L414 NwaCegarLoop]: 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-28 10:40:50,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-28 10:40:51,135 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 101. [2022-04-28 10:40:51,136 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:40:51,136 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-28 10:40:51,136 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-28 10:40:51,136 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-28 10:40:51,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:51,137 INFO L93 Difference]: Finished difference Result 107 states and 113 transitions. [2022-04-28 10:40:51,137 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 113 transitions. [2022-04-28 10:40:51,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:51,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:51,137 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-28 10:40:51,137 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-28 10:40:51,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:40:51,138 INFO L93 Difference]: Finished difference Result 107 states and 113 transitions. [2022-04-28 10:40:51,138 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 113 transitions. [2022-04-28 10:40:51,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:40:51,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:40:51,139 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:40:51,139 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:40:51,139 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-28 10:40:51,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 105 transitions. [2022-04-28 10:40:51,151 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 105 transitions. Word has length 89 [2022-04-28 10:40:51,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:40:51,151 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 105 transitions. [2022-04-28 10:40:51,151 INFO L496 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-28 10:40:51,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 101 states and 105 transitions. [2022-04-28 10:40:51,377 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-28 10:40:51,377 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 105 transitions. [2022-04-28 10:40:51,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-28 10:40:51,378 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:40:51,378 INFO L195 NwaCegarLoop]: 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-28 10:40:51,416 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Forceful destruction successful, exit code 0 [2022-04-28 10:40:51,578 WARN L477 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-28 10:40:51,578 INFO L420 AbstractCegarLoop]: === Iteration 62 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:40:51,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:40:51,578 INFO L85 PathProgramCache]: Analyzing trace with hash 489970451, now seen corresponding path program 55 times [2022-04-28 10:40:51,579 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:40:51,579 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1281010037] [2022-04-28 10:40:51,581 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:40:51,581 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:40:51,581 INFO L85 PathProgramCache]: Analyzing trace with hash 489970451, now seen corresponding path program 56 times [2022-04-28 10:40:51,581 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:40:51,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [971749546] [2022-04-28 10:40:51,581 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:40:51,581 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:40:51,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:51,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:40:51,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:51,637 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-28 10:40:51,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {57539#true} assume true; {57539#true} is VALID [2022-04-28 10:40:51,638 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57539#true} {57539#true} #93#return; {57539#true} is VALID [2022-04-28 10:40:51,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:40:51,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:51,907 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-28 10:40:51,908 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-28 10:40:51,908 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-28 10:40:51,908 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-28 10:40:51,909 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-28 10:40:51,909 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-28 10:40:51,909 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-28 10:40:51,910 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-28 10:40:51,910 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-28 10:40:51,911 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-28 10:40:51,911 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-28 10:40:51,911 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-28 10:40:51,912 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-28 10:40:51,912 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-28 10:40:51,912 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-28 10:40:51,913 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-28 10:40:51,913 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-28 10:40:51,913 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-28 10:40:51,914 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-28 10:40:51,914 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-28 10:40:51,914 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-28 10:40:51,915 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-28 10:40:51,915 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-28 10:40:51,916 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-28 10:40:51,916 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-28 10:40:51,916 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-28 10:40:51,917 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-28 10:40:51,917 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-28 10:40:51,917 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-28 10:40:51,918 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-28 10:40:51,918 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-28 10:40:51,918 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-28 10:40:51,919 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-28 10:40:51,919 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-28 10:40:51,919 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-28 10:40:51,920 INFO L290 TraceCheckUtils]: 35: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} assume true; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-28 10:40:51,920 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-28 10:40:51,921 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 10:40:51,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:52,330 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-28 10:40:52,331 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-28 10:40:52,331 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-28 10:40:52,332 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-28 10:40:52,332 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-28 10:40:52,333 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-28 10:40:52,333 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-28 10:40:52,333 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-28 10:40:52,334 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-28 10:40:52,334 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-28 10:40:52,335 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-28 10:40:52,335 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-28 10:40:52,335 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-28 10:40:52,336 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-28 10:40:52,336 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-28 10:40:52,337 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-28 10:40:52,337 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-28 10:40:52,338 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-28 10:40:52,338 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-28 10:40:52,339 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-28 10:40:52,339 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-28 10:40:52,339 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-28 10:40:52,340 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-28 10:40:52,340 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-28 10:40:52,341 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-28 10:40:52,341 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-28 10:40:52,341 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-28 10:40:52,342 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-28 10:40:52,342 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-28 10:40:52,343 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-28 10:40:52,343 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-28 10:40:52,344 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-28 10:40:52,344 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-28 10:40:52,345 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-28 10:40:52,345 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-28 10:40:52,345 INFO L290 TraceCheckUtils]: 35: Hoare triple {57656#(<= |student_version_#in~w| 29)} assume true; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-28 10:40:52,346 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-28 10:40:52,347 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-28 10:40:52,347 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-28 10:40:52,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {57539#true} assume true; {57539#true} is VALID [2022-04-28 10:40:52,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57539#true} {57539#true} #93#return; {57539#true} is VALID [2022-04-28 10:40:52,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {57539#true} call #t~ret7 := main(); {57539#true} is VALID [2022-04-28 10:40:52,347 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-28 10:40:52,347 INFO L290 TraceCheckUtils]: 6: Hoare triple {57539#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {57539#true} is VALID [2022-04-28 10:40:52,347 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-28 10:40:52,348 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-28 10:40:52,348 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-28 10:40:52,348 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-28 10:40:52,349 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-28 10:40:52,349 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-28 10:40:52,349 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-28 10:40:52,350 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-28 10:40:52,350 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-28 10:40:52,350 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-28 10:40:52,351 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-28 10:40:52,351 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-28 10:40:52,351 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-28 10:40:52,352 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-28 10:40:52,352 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-28 10:40:52,353 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-28 10:40:52,353 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-28 10:40:52,353 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-28 10:40:52,354 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-28 10:40:52,354 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-28 10:40:52,354 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-28 10:40:52,355 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-28 10:40:52,355 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-28 10:40:52,356 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-28 10:40:52,356 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-28 10:40:52,356 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-28 10:40:52,357 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-28 10:40:52,357 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-28 10:40:52,358 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-28 10:40:52,358 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-28 10:40:52,359 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-28 10:40:52,359 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-28 10:40:52,359 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-28 10:40:52,360 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-28 10:40:52,360 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-28 10:40:52,361 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-28 10:40:52,361 INFO L290 TraceCheckUtils]: 43: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} assume true; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-28 10:40:52,362 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-28 10:40:52,362 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-28 10:40:52,362 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-28 10:40:52,363 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-28 10:40:52,363 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-28 10:40:52,363 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-28 10:40:52,364 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-28 10:40:52,364 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-28 10:40:52,365 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-28 10:40:52,365 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-28 10:40:52,365 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-28 10:40:52,366 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-28 10:40:52,366 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-28 10:40:52,367 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-28 10:40:52,367 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-28 10:40:52,367 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-28 10:40:52,368 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-28 10:40:52,368 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-28 10:40:52,369 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-28 10:40:52,369 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-28 10:40:52,369 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-28 10:40:52,370 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-28 10:40:52,370 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-28 10:40:52,371 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-28 10:40:52,371 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-28 10:40:52,371 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-28 10:40:52,372 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-28 10:40:52,372 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-28 10:40:52,373 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-28 10:40:52,373 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-28 10:40:52,373 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-28 10:40:52,374 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-28 10:40:52,374 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-28 10:40:52,375 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-28 10:40:52,375 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-28 10:40:52,375 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-28 10:40:52,376 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-28 10:40:52,376 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-28 10:40:52,376 INFO L290 TraceCheckUtils]: 82: Hoare triple {57656#(<= |student_version_#in~w| 29)} assume true; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-28 10:40:52,377 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-28 10:40:52,377 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-28 10:40:52,377 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-28 10:40:52,377 INFO L290 TraceCheckUtils]: 86: Hoare triple {57540#false} ~cond := #in~cond; {57540#false} is VALID [2022-04-28 10:40:52,377 INFO L290 TraceCheckUtils]: 87: Hoare triple {57540#false} assume 0 == ~cond; {57540#false} is VALID [2022-04-28 10:40:52,377 INFO L290 TraceCheckUtils]: 88: Hoare triple {57540#false} assume !false; {57540#false} is VALID [2022-04-28 10:40:52,378 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-28 10:40:52,378 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:40:52,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [971749546] [2022-04-28 10:40:52,378 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [971749546] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:40:52,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2088014885] [2022-04-28 10:40:52,378 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:40:52,378 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:40:52,378 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:40:52,379 INFO L229 MonitoredProcess]: Starting monitored process 59 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:40:52,380 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Waiting until timeout for monitored process [2022-04-28 10:40:52,525 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:40:52,525 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:40:52,526 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 10:40:52,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:40:52,546 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:40:54,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {57539#true} call ULTIMATE.init(); {57539#true} is VALID [2022-04-28 10:40:54,418 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-28 10:40:54,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {57539#true} assume true; {57539#true} is VALID [2022-04-28 10:40:54,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57539#true} {57539#true} #93#return; {57539#true} is VALID [2022-04-28 10:40:54,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {57539#true} call #t~ret7 := main(); {57539#true} is VALID [2022-04-28 10:40:54,418 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-28 10:40:54,418 INFO L290 TraceCheckUtils]: 6: Hoare triple {57539#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {57539#true} is VALID [2022-04-28 10:40:54,418 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-28 10:40:54,418 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-28 10:40:54,419 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-28 10:40:54,419 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-28 10:40:54,420 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-28 10:40:54,420 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-28 10:40:54,421 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-28 10:40:54,421 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-28 10:40:54,421 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-28 10:40:54,422 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-28 10:40:54,422 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-28 10:40:54,423 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-28 10:40:54,423 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-28 10:40:54,423 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-28 10:40:54,424 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-28 10:40:54,424 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-28 10:40:54,425 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-28 10:40:54,425 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-28 10:40:54,425 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-28 10:40:54,426 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-28 10:40:54,426 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-28 10:40:54,427 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-28 10:40:54,427 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-28 10:40:54,427 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-28 10:40:54,428 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-28 10:40:54,428 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-28 10:40:54,429 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-28 10:40:54,429 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-28 10:40:54,430 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-28 10:40:54,430 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-28 10:40:54,430 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-28 10:40:54,431 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-28 10:40:54,431 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-28 10:40:54,432 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-28 10:40:54,432 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-28 10:40:54,432 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-28 10:40:54,433 INFO L290 TraceCheckUtils]: 43: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} assume true; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-28 10:40:54,434 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-28 10:40:54,434 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-28 10:40:54,434 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-28 10:40:54,434 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-28 10:40:54,435 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-28 10:40:54,435 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-28 10:40:54,436 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-28 10:40:54,436 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-28 10:40:54,437 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-28 10:40:54,437 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-28 10:40:54,437 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-28 10:40:54,438 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-28 10:40:54,438 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-28 10:40:54,439 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-28 10:40:54,439 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-28 10:40:54,439 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-28 10:40:54,440 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-28 10:40:54,440 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-28 10:40:54,441 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-28 10:40:54,441 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-28 10:40:54,442 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-28 10:40:54,442 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-28 10:40:54,442 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-28 10:40:54,443 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-28 10:40:54,443 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-28 10:40:54,443 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-28 10:40:54,444 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-28 10:40:54,444 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-28 10:40:54,445 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-28 10:40:54,445 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-28 10:40:54,446 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-28 10:40:54,446 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-28 10:40:54,446 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-28 10:40:54,447 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-28 10:40:54,447 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-28 10:40:54,448 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-28 10:40:54,448 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-28 10:40:54,448 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-28 10:40:54,449 INFO L290 TraceCheckUtils]: 82: Hoare triple {57656#(<= |student_version_#in~w| 29)} assume true; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-28 10:40:54,449 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-28 10:40:54,450 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-28 10:40:54,450 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-28 10:40:54,450 INFO L290 TraceCheckUtils]: 86: Hoare triple {57540#false} ~cond := #in~cond; {57540#false} is VALID [2022-04-28 10:40:54,450 INFO L290 TraceCheckUtils]: 87: Hoare triple {57540#false} assume 0 == ~cond; {57540#false} is VALID [2022-04-28 10:40:54,450 INFO L290 TraceCheckUtils]: 88: Hoare triple {57540#false} assume !false; {57540#false} is VALID [2022-04-28 10:40:54,450 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-28 10:40:54,450 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:41:03,760 INFO L290 TraceCheckUtils]: 88: Hoare triple {57540#false} assume !false; {57540#false} is VALID [2022-04-28 10:41:03,760 INFO L290 TraceCheckUtils]: 87: Hoare triple {57540#false} assume 0 == ~cond; {57540#false} is VALID [2022-04-28 10:41:03,760 INFO L290 TraceCheckUtils]: 86: Hoare triple {57540#false} ~cond := #in~cond; {57540#false} is VALID [2022-04-28 10:41:03,760 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-28 10:41:03,760 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-28 10:41:03,761 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-28 10:41:03,762 INFO L290 TraceCheckUtils]: 82: Hoare triple {57656#(<= |student_version_#in~w| 29)} assume true; {57656#(<= |student_version_#in~w| 29)} is VALID [2022-04-28 10:41:03,762 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-28 10:41:03,762 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-28 10:41:03,763 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-28 10:41:03,763 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-28 10:41:03,763 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-28 10:41:03,764 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-28 10:41:03,764 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-28 10:41:03,765 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-28 10:41:03,765 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-28 10:41:03,765 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-28 10:41:03,766 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-28 10:41:03,766 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-28 10:41:03,766 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-28 10:41:03,767 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-28 10:41:03,767 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-28 10:41:03,768 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-28 10:41:03,768 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-28 10:41:03,768 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-28 10:41:03,769 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-28 10:41:03,769 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-28 10:41:03,769 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-28 10:41:03,770 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-28 10:41:03,770 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-28 10:41:03,770 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-28 10:41:03,771 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-28 10:41:03,771 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-28 10:41:03,771 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-28 10:41:03,772 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-28 10:41:03,772 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-28 10:41:03,773 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-28 10:41:03,773 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-28 10:41:03,773 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-28 10:41:03,774 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-28 10:41:03,774 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-28 10:41:03,774 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-28 10:41:03,774 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-28 10:41:03,775 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-28 10:41:03,776 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-28 10:41:03,776 INFO L290 TraceCheckUtils]: 43: Hoare triple {57637#(<= 30 |correct_version_#in~w|)} assume true; {57637#(<= 30 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:03,776 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-28 10:41:03,776 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-28 10:41:03,777 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-28 10:41:03,777 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-28 10:41:03,778 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-28 10:41:03,778 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-28 10:41:03,778 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-28 10:41:03,779 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-28 10:41:03,779 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-28 10:41:03,779 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-28 10:41:03,780 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-28 10:41:03,780 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-28 10:41:03,781 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-28 10:41:03,781 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-28 10:41:03,781 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-28 10:41:03,782 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-28 10:41:03,782 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-28 10:41:03,782 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-28 10:41:03,783 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-28 10:41:03,783 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-28 10:41:03,783 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-28 10:41:03,784 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-28 10:41:03,784 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-28 10:41:03,785 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-28 10:41:03,785 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-28 10:41:03,785 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-28 10:41:03,786 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-28 10:41:03,786 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-28 10:41:03,786 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-28 10:41:03,787 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-28 10:41:03,787 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-28 10:41:03,787 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-28 10:41:03,788 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-28 10:41:03,788 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-28 10:41:03,788 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-28 10:41:03,789 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-28 10:41:03,789 INFO L290 TraceCheckUtils]: 6: Hoare triple {57539#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {57539#true} is VALID [2022-04-28 10:41:03,789 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-28 10:41:03,789 INFO L272 TraceCheckUtils]: 4: Hoare triple {57539#true} call #t~ret7 := main(); {57539#true} is VALID [2022-04-28 10:41:03,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57539#true} {57539#true} #93#return; {57539#true} is VALID [2022-04-28 10:41:03,789 INFO L290 TraceCheckUtils]: 2: Hoare triple {57539#true} assume true; {57539#true} is VALID [2022-04-28 10:41:03,789 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-28 10:41:03,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {57539#true} call ULTIMATE.init(); {57539#true} is VALID [2022-04-28 10:41:03,789 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-28 10:41:03,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2088014885] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:41:03,789 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:41:03,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [41, 40, 40] total 111 [2022-04-28 10:41:03,790 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:03,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1281010037] [2022-04-28 10:41:03,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1281010037] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:03,790 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:03,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [41] imperfect sequences [] total 41 [2022-04-28 10:41:03,790 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2097909816] [2022-04-28 10:41:03,790 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:03,790 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-28 10:41:03,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:03,791 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-28 10:41:03,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:03,847 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 41 states [2022-04-28 10:41:03,847 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:03,847 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2022-04-28 10:41:03,848 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1967, Invalid=10243, Unknown=0, NotChecked=0, Total=12210 [2022-04-28 10:41:03,848 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-28 10:41:06,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:06,872 INFO L93 Difference]: Finished difference Result 113 states and 118 transitions. [2022-04-28 10:41:06,872 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-04-28 10:41:06,873 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-28 10:41:06,873 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:06,873 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-28 10:41:06,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 113 transitions. [2022-04-28 10:41:06,874 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-28 10:41:06,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 113 transitions. [2022-04-28 10:41:06,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 113 transitions. [2022-04-28 10:41:06,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:06,962 INFO L225 Difference]: With dead ends: 113 [2022-04-28 10:41:06,962 INFO L226 Difference]: Without dead ends: 104 [2022-04-28 10:41:06,964 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 259 GetRequests, 107 SyntacticMatches, 5 SemanticMatches, 147 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10091 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=3377, Invalid=18675, Unknown=0, NotChecked=0, Total=22052 [2022-04-28 10:41:06,964 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 126 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 542 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:06,964 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [127 Valid, 60 Invalid, 592 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 542 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:41:06,964 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-28 10:41:08,142 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 104. [2022-04-28 10:41:08,143 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:08,143 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-28 10:41:08,143 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-28 10:41:08,143 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-28 10:41:08,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:08,144 INFO L93 Difference]: Finished difference Result 104 states and 109 transitions. [2022-04-28 10:41:08,144 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 109 transitions. [2022-04-28 10:41:08,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:08,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:08,144 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-28 10:41:08,144 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-28 10:41:08,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:08,145 INFO L93 Difference]: Finished difference Result 104 states and 109 transitions. [2022-04-28 10:41:08,145 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 109 transitions. [2022-04-28 10:41:08,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:08,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:08,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:08,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:08,146 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-28 10:41:08,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 109 transitions. [2022-04-28 10:41:08,147 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 109 transitions. Word has length 89 [2022-04-28 10:41:08,147 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:08,147 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 109 transitions. [2022-04-28 10:41:08,147 INFO L496 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-28 10:41:08,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 109 transitions. [2022-04-28 10:41:08,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:08,390 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 109 transitions. [2022-04-28 10:41:08,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 10:41:08,391 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:08,391 INFO L195 NwaCegarLoop]: 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-28 10:41:08,410 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Forceful destruction successful, exit code 0 [2022-04-28 10:41:08,591 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 59 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable61 [2022-04-28 10:41:08,592 INFO L420 AbstractCegarLoop]: === Iteration 63 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:08,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:08,592 INFO L85 PathProgramCache]: Analyzing trace with hash 982947093, now seen corresponding path program 57 times [2022-04-28 10:41:08,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:08,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [187848230] [2022-04-28 10:41:08,594 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:41:08,595 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:41:08,595 INFO L85 PathProgramCache]: Analyzing trace with hash 982947093, now seen corresponding path program 58 times [2022-04-28 10:41:08,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:08,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1829072596] [2022-04-28 10:41:08,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:08,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:08,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:08,643 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:08,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:08,646 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-28 10:41:08,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {58978#true} assume true; {58978#true} is VALID [2022-04-28 10:41:08,646 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {58978#true} {58978#true} #93#return; {58978#true} is VALID [2022-04-28 10:41:08,646 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:41:08,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:08,933 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-28 10:41:08,934 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-28 10:41:08,934 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-28 10:41:08,934 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-28 10:41:08,935 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-28 10:41:08,935 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-28 10:41:08,936 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-28 10:41:08,936 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-28 10:41:08,936 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-28 10:41:08,937 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-28 10:41:08,937 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-28 10:41:08,938 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-28 10:41:08,938 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-28 10:41:08,938 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-28 10:41:08,939 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-28 10:41:08,939 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-28 10:41:08,940 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-28 10:41:08,940 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-28 10:41:08,940 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-28 10:41:08,941 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-28 10:41:08,941 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-28 10:41:08,942 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-28 10:41:08,942 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-28 10:41:08,942 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-28 10:41:08,943 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-28 10:41:08,943 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-28 10:41:08,944 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-28 10:41:08,944 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-28 10:41:08,945 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-28 10:41:08,945 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-28 10:41:08,945 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-28 10:41:08,946 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-28 10:41:08,946 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-28 10:41:08,947 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-28 10:41:08,947 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-28 10:41:08,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume true; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-28 10:41:08,958 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-28 10:41:08,958 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 10:41:08,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:09,337 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-28 10:41:09,337 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-28 10:41:09,338 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-28 10:41:09,338 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-28 10:41:09,339 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-28 10:41:09,339 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-28 10:41:09,340 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-28 10:41:09,340 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-28 10:41:09,341 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-28 10:41:09,341 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-28 10:41:09,341 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-28 10:41:09,342 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-28 10:41:09,342 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-28 10:41:09,343 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-28 10:41:09,343 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-28 10:41:09,344 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-28 10:41:09,344 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-28 10:41:09,344 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-28 10:41:09,345 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-28 10:41:09,345 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-28 10:41:09,346 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-28 10:41:09,346 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-28 10:41:09,347 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-28 10:41:09,347 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-28 10:41:09,347 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-28 10:41:09,348 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-28 10:41:09,348 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-28 10:41:09,349 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-28 10:41:09,349 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-28 10:41:09,350 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-28 10:41:09,350 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-28 10:41:09,351 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-28 10:41:09,351 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-28 10:41:09,351 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-28 10:41:09,352 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-28 10:41:09,352 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-28 10:41:09,353 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-28 10:41:09,353 INFO L290 TraceCheckUtils]: 37: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume true; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-28 10:41:09,354 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-28 10:41:09,355 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-28 10:41:09,355 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-28 10:41:09,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {58978#true} assume true; {58978#true} is VALID [2022-04-28 10:41:09,355 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58978#true} {58978#true} #93#return; {58978#true} is VALID [2022-04-28 10:41:09,355 INFO L272 TraceCheckUtils]: 4: Hoare triple {58978#true} call #t~ret7 := main(); {58978#true} is VALID [2022-04-28 10:41:09,355 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-28 10:41:09,355 INFO L290 TraceCheckUtils]: 6: Hoare triple {58978#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {58978#true} is VALID [2022-04-28 10:41:09,355 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-28 10:41:09,355 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-28 10:41:09,356 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-28 10:41:09,356 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-28 10:41:09,357 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-28 10:41:09,357 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-28 10:41:09,358 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-28 10:41:09,358 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-28 10:41:09,358 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-28 10:41:09,359 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-28 10:41:09,359 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-28 10:41:09,360 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-28 10:41:09,360 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-28 10:41:09,361 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-28 10:41:09,361 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-28 10:41:09,361 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-28 10:41:09,362 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-28 10:41:09,362 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-28 10:41:09,363 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-28 10:41:09,363 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-28 10:41:09,364 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-28 10:41:09,364 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-28 10:41:09,364 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-28 10:41:09,365 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-28 10:41:09,365 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-28 10:41:09,366 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-28 10:41:09,366 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-28 10:41:09,367 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-28 10:41:09,367 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-28 10:41:09,367 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-28 10:41:09,368 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-28 10:41:09,368 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-28 10:41:09,369 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-28 10:41:09,369 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-28 10:41:09,370 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-28 10:41:09,370 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-28 10:41:09,370 INFO L290 TraceCheckUtils]: 43: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume true; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-28 10:41:09,371 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-28 10:41:09,372 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-28 10:41:09,372 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-28 10:41:09,372 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-28 10:41:09,373 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-28 10:41:09,373 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-28 10:41:09,373 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-28 10:41:09,374 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-28 10:41:09,374 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-28 10:41:09,375 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-28 10:41:09,375 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-28 10:41:09,375 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-28 10:41:09,376 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-28 10:41:09,376 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-28 10:41:09,377 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-28 10:41:09,377 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-28 10:41:09,378 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-28 10:41:09,378 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-28 10:41:09,378 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-28 10:41:09,379 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-28 10:41:09,379 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-28 10:41:09,380 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-28 10:41:09,380 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-28 10:41:09,381 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-28 10:41:09,381 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-28 10:41:09,381 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-28 10:41:09,382 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-28 10:41:09,382 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-28 10:41:09,383 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-28 10:41:09,383 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-28 10:41:09,384 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-28 10:41:09,384 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-28 10:41:09,384 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-28 10:41:09,385 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-28 10:41:09,385 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-28 10:41:09,386 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-28 10:41:09,386 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-28 10:41:09,387 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-28 10:41:09,387 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-28 10:41:09,387 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-28 10:41:09,387 INFO L290 TraceCheckUtils]: 84: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume true; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-28 10:41:09,389 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-28 10:41:09,389 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-28 10:41:09,389 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-28 10:41:09,389 INFO L290 TraceCheckUtils]: 88: Hoare triple {58979#false} ~cond := #in~cond; {58979#false} is VALID [2022-04-28 10:41:09,389 INFO L290 TraceCheckUtils]: 89: Hoare triple {58979#false} assume 0 == ~cond; {58979#false} is VALID [2022-04-28 10:41:09,389 INFO L290 TraceCheckUtils]: 90: Hoare triple {58979#false} assume !false; {58979#false} is VALID [2022-04-28 10:41:09,389 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-28 10:41:09,390 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:09,390 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1829072596] [2022-04-28 10:41:09,390 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1829072596] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:41:09,390 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [422895173] [2022-04-28 10:41:09,390 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:41:09,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:09,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:41:09,391 INFO L229 MonitoredProcess]: Starting monitored process 60 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:41:09,392 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Waiting until timeout for monitored process [2022-04-28 10:41:09,570 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:41:09,571 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:41:09,572 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 10:41:09,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:09,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:41:11,363 INFO L272 TraceCheckUtils]: 0: Hoare triple {58978#true} call ULTIMATE.init(); {58978#true} is VALID [2022-04-28 10:41:11,363 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-28 10:41:11,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {58978#true} assume true; {58978#true} is VALID [2022-04-28 10:41:11,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58978#true} {58978#true} #93#return; {58978#true} is VALID [2022-04-28 10:41:11,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {58978#true} call #t~ret7 := main(); {58978#true} is VALID [2022-04-28 10:41:11,363 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-28 10:41:11,364 INFO L290 TraceCheckUtils]: 6: Hoare triple {58978#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {58978#true} is VALID [2022-04-28 10:41:11,364 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-28 10:41:11,364 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-28 10:41:11,364 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-28 10:41:11,365 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-28 10:41:11,365 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-28 10:41:11,366 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-28 10:41:11,366 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-28 10:41:11,367 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-28 10:41:11,367 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-28 10:41:11,367 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-28 10:41:11,368 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-28 10:41:11,368 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-28 10:41:11,369 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-28 10:41:11,369 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-28 10:41:11,370 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-28 10:41:11,370 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-28 10:41:11,370 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-28 10:41:11,371 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-28 10:41:11,371 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-28 10:41:11,372 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-28 10:41:11,372 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-28 10:41:11,373 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-28 10:41:11,373 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-28 10:41:11,373 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-28 10:41:11,374 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-28 10:41:11,374 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-28 10:41:11,375 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-28 10:41:11,375 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-28 10:41:11,376 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-28 10:41:11,376 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-28 10:41:11,377 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-28 10:41:11,377 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-28 10:41:11,377 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-28 10:41:11,378 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-28 10:41:11,378 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-28 10:41:11,378 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-28 10:41:11,379 INFO L290 TraceCheckUtils]: 43: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume true; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-28 10:41:11,380 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-28 10:41:11,380 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-28 10:41:11,380 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-28 10:41:11,381 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-28 10:41:11,381 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-28 10:41:11,381 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-28 10:41:11,382 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-28 10:41:11,382 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-28 10:41:11,383 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-28 10:41:11,383 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-28 10:41:11,383 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-28 10:41:11,384 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-28 10:41:11,384 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-28 10:41:11,385 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-28 10:41:11,385 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-28 10:41:11,386 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-28 10:41:11,386 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-28 10:41:11,386 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-28 10:41:11,387 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-28 10:41:11,387 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-28 10:41:11,388 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-28 10:41:11,388 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-28 10:41:11,389 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-28 10:41:11,389 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-28 10:41:11,389 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-28 10:41:11,390 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-28 10:41:11,390 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-28 10:41:11,391 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-28 10:41:11,391 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-28 10:41:11,392 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-28 10:41:11,392 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-28 10:41:11,392 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-28 10:41:11,393 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-28 10:41:11,393 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-28 10:41:11,394 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-28 10:41:11,394 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-28 10:41:11,395 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-28 10:41:11,395 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-28 10:41:11,395 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-28 10:41:11,395 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-28 10:41:11,396 INFO L290 TraceCheckUtils]: 84: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume true; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-28 10:41:11,397 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-28 10:41:11,397 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-28 10:41:11,397 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-28 10:41:11,397 INFO L290 TraceCheckUtils]: 88: Hoare triple {58979#false} ~cond := #in~cond; {58979#false} is VALID [2022-04-28 10:41:11,397 INFO L290 TraceCheckUtils]: 89: Hoare triple {58979#false} assume 0 == ~cond; {58979#false} is VALID [2022-04-28 10:41:11,397 INFO L290 TraceCheckUtils]: 90: Hoare triple {58979#false} assume !false; {58979#false} is VALID [2022-04-28 10:41:11,397 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-28 10:41:11,398 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:41:17,194 INFO L290 TraceCheckUtils]: 90: Hoare triple {58979#false} assume !false; {58979#false} is VALID [2022-04-28 10:41:17,195 INFO L290 TraceCheckUtils]: 89: Hoare triple {58979#false} assume 0 == ~cond; {58979#false} is VALID [2022-04-28 10:41:17,195 INFO L290 TraceCheckUtils]: 88: Hoare triple {58979#false} ~cond := #in~cond; {58979#false} is VALID [2022-04-28 10:41:17,195 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-28 10:41:17,195 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-28 10:41:17,196 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-28 10:41:17,196 INFO L290 TraceCheckUtils]: 84: Hoare triple {59098#(<= 31 |student_version_#in~w|)} assume true; {59098#(<= 31 |student_version_#in~w|)} is VALID [2022-04-28 10:41:17,196 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-28 10:41:17,196 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-28 10:41:17,197 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-28 10:41:17,197 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-28 10:41:17,197 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-28 10:41:17,198 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-28 10:41:17,198 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-28 10:41:17,199 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-28 10:41:17,199 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-28 10:41:17,199 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-28 10:41:17,200 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-28 10:41:17,200 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-28 10:41:17,200 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-28 10:41:17,201 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-28 10:41:17,201 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-28 10:41:17,202 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-28 10:41:17,202 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-28 10:41:17,202 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-28 10:41:17,203 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-28 10:41:17,203 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-28 10:41:17,203 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-28 10:41:17,204 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-28 10:41:17,204 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-28 10:41:17,205 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-28 10:41:17,205 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-28 10:41:17,205 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-28 10:41:17,206 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-28 10:41:17,206 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-28 10:41:17,207 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-28 10:41:17,208 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-28 10:41:17,208 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-28 10:41:17,208 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-28 10:41:17,209 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-28 10:41:17,209 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-28 10:41:17,210 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-28 10:41:17,210 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-28 10:41:17,211 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-28 10:41:17,211 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-28 10:41:17,211 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-28 10:41:17,212 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-28 10:41:17,212 INFO L290 TraceCheckUtils]: 43: Hoare triple {59079#(<= |correct_version_#in~w| 30)} assume true; {59079#(<= |correct_version_#in~w| 30)} is VALID [2022-04-28 10:41:17,212 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-28 10:41:17,213 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-28 10:41:17,213 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-28 10:41:17,213 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-28 10:41:17,214 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-28 10:41:17,214 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-28 10:41:17,214 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-28 10:41:17,215 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-28 10:41:17,215 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-28 10:41:17,216 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-28 10:41:17,216 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-28 10:41:17,216 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-28 10:41:17,217 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-28 10:41:17,217 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-28 10:41:17,217 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-28 10:41:17,218 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-28 10:41:17,218 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-28 10:41:17,218 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-28 10:41:17,219 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-28 10:41:17,219 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-28 10:41:17,219 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-28 10:41:17,220 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-28 10:41:17,220 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-28 10:41:17,221 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-28 10:41:17,221 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-28 10:41:17,221 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-28 10:41:17,222 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-28 10:41:17,222 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-28 10:41:17,222 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-28 10:41:17,223 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-28 10:41:17,223 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-28 10:41:17,223 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-28 10:41:17,224 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-28 10:41:17,224 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-28 10:41:17,224 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-28 10:41:17,224 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-28 10:41:17,225 INFO L290 TraceCheckUtils]: 6: Hoare triple {58978#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {58978#true} is VALID [2022-04-28 10:41:17,225 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-28 10:41:17,225 INFO L272 TraceCheckUtils]: 4: Hoare triple {58978#true} call #t~ret7 := main(); {58978#true} is VALID [2022-04-28 10:41:17,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58978#true} {58978#true} #93#return; {58978#true} is VALID [2022-04-28 10:41:17,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {58978#true} assume true; {58978#true} is VALID [2022-04-28 10:41:17,225 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-28 10:41:17,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {58978#true} call ULTIMATE.init(); {58978#true} is VALID [2022-04-28 10:41:17,225 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-28 10:41:17,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [422895173] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:41:17,225 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:41:17,225 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [42, 39, 39] total 110 [2022-04-28 10:41:17,226 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:17,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [187848230] [2022-04-28 10:41:17,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [187848230] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:17,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:17,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [42] imperfect sequences [] total 42 [2022-04-28 10:41:17,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1902922886] [2022-04-28 10:41:17,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:17,226 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-28 10:41:17,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:17,226 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-28 10:41:17,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:17,284 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 42 states [2022-04-28 10:41:17,284 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:17,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2022-04-28 10:41:17,285 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1993, Invalid=9997, Unknown=0, NotChecked=0, Total=11990 [2022-04-28 10:41:17,285 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-28 10:41:20,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:20,540 INFO L93 Difference]: Finished difference Result 119 states and 124 transitions. [2022-04-28 10:41:20,540 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-04-28 10:41:20,540 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-28 10:41:20,540 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:20,540 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-28 10:41:20,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 116 transitions. [2022-04-28 10:41:20,541 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-28 10:41:20,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 116 transitions. [2022-04-28 10:41:20,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 116 transitions. [2022-04-28 10:41:20,644 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-28 10:41:20,645 INFO L225 Difference]: With dead ends: 119 [2022-04-28 10:41:20,645 INFO L226 Difference]: Without dead ends: 107 [2022-04-28 10:41:20,646 INFO L412 NwaCegarLoop]: 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-28 10:41:20,646 INFO L413 NwaCegarLoop]: 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:20,647 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [106 Valid, 67 Invalid, 691 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [45 Valid, 646 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:41:20,647 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-28 10:41:21,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 103. [2022-04-28 10:41:21,769 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:21,769 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-28 10:41:21,769 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-28 10:41:21,769 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-28 10:41:21,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:21,770 INFO L93 Difference]: Finished difference Result 107 states and 111 transitions. [2022-04-28 10:41:21,770 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 111 transitions. [2022-04-28 10:41:21,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:21,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:21,770 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-28 10:41:21,771 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-28 10:41:21,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:21,771 INFO L93 Difference]: Finished difference Result 107 states and 111 transitions. [2022-04-28 10:41:21,771 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 111 transitions. [2022-04-28 10:41:21,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:21,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:21,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:21,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:21,772 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-28 10:41:21,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 107 transitions. [2022-04-28 10:41:21,773 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 107 transitions. Word has length 91 [2022-04-28 10:41:21,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:21,773 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 107 transitions. [2022-04-28 10:41:21,773 INFO L496 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-28 10:41:21,773 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 107 transitions. [2022-04-28 10:41:22,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:22,033 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2022-04-28 10:41:22,034 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 10:41:22,034 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:22,034 INFO L195 NwaCegarLoop]: 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-28 10:41:22,052 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Forceful destruction successful, exit code 0 [2022-04-28 10:41:22,235 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 60 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable62 [2022-04-28 10:41:22,235 INFO L420 AbstractCegarLoop]: === Iteration 64 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:22,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:22,236 INFO L85 PathProgramCache]: Analyzing trace with hash -538831371, now seen corresponding path program 57 times [2022-04-28 10:41:22,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:22,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [409289260] [2022-04-28 10:41:22,238 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:41:22,238 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:41:22,238 INFO L85 PathProgramCache]: Analyzing trace with hash -538831371, now seen corresponding path program 58 times [2022-04-28 10:41:22,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:22,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [671956462] [2022-04-28 10:41:22,238 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:22,238 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:22,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,289 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:22,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,292 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-28 10:41:22,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {60444#true} assume true; {60444#true} is VALID [2022-04-28 10:41:22,292 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60444#true} {60444#true} #93#return; {60444#true} is VALID [2022-04-28 10:41:22,292 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:41:22,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,565 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-28 10:41:22,565 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-28 10:41:22,566 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-28 10:41:22,566 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-28 10:41:22,566 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-28 10:41:22,567 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-28 10:41:22,567 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-28 10:41:22,567 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-28 10:41:22,568 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-28 10:41:22,568 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-28 10:41:22,568 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-28 10:41:22,569 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-28 10:41:22,569 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-28 10:41:22,570 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-28 10:41:22,570 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-28 10:41:22,570 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-28 10:41:22,571 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-28 10:41:22,571 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-28 10:41:22,571 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-28 10:41:22,572 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-28 10:41:22,572 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-28 10:41:22,572 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-28 10:41:22,573 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-28 10:41:22,573 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-28 10:41:22,574 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-28 10:41:22,574 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-28 10:41:22,574 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-28 10:41:22,575 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-28 10:41:22,575 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-28 10:41:22,575 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-28 10:41:22,576 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-28 10:41:22,576 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-28 10:41:22,577 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-28 10:41:22,577 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-28 10:41:22,577 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-28 10:41:22,577 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-28 10:41:22,578 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-28 10:41:22,578 INFO L290 TraceCheckUtils]: 37: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume true; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:22,579 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-28 10:41:22,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-04-28 10:41:22,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,979 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-28 10:41:22,979 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-28 10:41:22,980 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-28 10:41:22,980 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-28 10:41:22,980 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-28 10:41:22,981 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-28 10:41:22,981 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-28 10:41:22,982 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-28 10:41:22,982 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-28 10:41:22,982 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-28 10:41:22,983 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-28 10:41:22,983 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-28 10:41:22,984 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-28 10:41:22,984 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-28 10:41:22,984 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-28 10:41:22,985 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-28 10:41:22,985 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-28 10:41:22,986 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-28 10:41:22,986 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-28 10:41:22,986 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-28 10:41:22,987 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-28 10:41:22,987 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-28 10:41:22,988 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-28 10:41:22,988 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-28 10:41:22,988 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-28 10:41:22,989 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-28 10:41:22,989 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-28 10:41:22,990 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-28 10:41:22,990 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-28 10:41:22,990 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-28 10:41:22,991 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-28 10:41:22,991 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-28 10:41:22,992 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-28 10:41:22,992 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-28 10:41:22,992 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-28 10:41:22,992 INFO L290 TraceCheckUtils]: 35: Hoare triple {60564#(<= |student_version_#in~w| 30)} assume true; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-28 10:41:22,993 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-28 10:41:22,994 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-28 10:41:22,994 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-28 10:41:22,994 INFO L290 TraceCheckUtils]: 2: Hoare triple {60444#true} assume true; {60444#true} is VALID [2022-04-28 10:41:22,994 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60444#true} {60444#true} #93#return; {60444#true} is VALID [2022-04-28 10:41:22,994 INFO L272 TraceCheckUtils]: 4: Hoare triple {60444#true} call #t~ret7 := main(); {60444#true} is VALID [2022-04-28 10:41:22,994 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-28 10:41:22,994 INFO L290 TraceCheckUtils]: 6: Hoare triple {60444#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {60444#true} is VALID [2022-04-28 10:41:22,995 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-28 10:41:22,995 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-28 10:41:22,995 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-28 10:41:22,996 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-28 10:41:22,996 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-28 10:41:22,996 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-28 10:41:22,997 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-28 10:41:22,997 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-28 10:41:22,998 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-28 10:41:22,998 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-28 10:41:22,998 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-28 10:41:22,999 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-28 10:41:22,999 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-28 10:41:23,000 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-28 10:41:23,000 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-28 10:41:23,000 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-28 10:41:23,001 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-28 10:41:23,001 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-28 10:41:23,002 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-28 10:41:23,002 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-28 10:41:23,002 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-28 10:41:23,011 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-28 10:41:23,011 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-28 10:41:23,012 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-28 10:41:23,012 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-28 10:41:23,012 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-28 10:41:23,013 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-28 10:41:23,013 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-28 10:41:23,014 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-28 10:41:23,014 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-28 10:41:23,015 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-28 10:41:23,015 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-28 10:41:23,015 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-28 10:41:23,016 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-28 10:41:23,016 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-28 10:41:23,016 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-28 10:41:23,017 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-28 10:41:23,017 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-28 10:41:23,017 INFO L290 TraceCheckUtils]: 45: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume true; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:23,018 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-28 10:41:23,019 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-28 10:41:23,019 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-28 10:41:23,019 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-28 10:41:23,019 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-28 10:41:23,020 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-28 10:41:23,020 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-28 10:41:23,021 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-28 10:41:23,021 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-28 10:41:23,021 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-28 10:41:23,022 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-28 10:41:23,022 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-28 10:41:23,023 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-28 10:41:23,023 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-28 10:41:23,023 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-28 10:41:23,024 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-28 10:41:23,024 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-28 10:41:23,024 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-28 10:41:23,025 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-28 10:41:23,025 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-28 10:41:23,026 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-28 10:41:23,026 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-28 10:41:23,026 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-28 10:41:23,027 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-28 10:41:23,027 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-28 10:41:23,028 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-28 10:41:23,028 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-28 10:41:23,028 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-28 10:41:23,029 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-28 10:41:23,029 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-28 10:41:23,030 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-28 10:41:23,030 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-28 10:41:23,030 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-28 10:41:23,031 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-28 10:41:23,031 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-28 10:41:23,032 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-28 10:41:23,032 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-28 10:41:23,032 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-28 10:41:23,032 INFO L290 TraceCheckUtils]: 84: Hoare triple {60564#(<= |student_version_#in~w| 30)} assume true; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-28 10:41:23,033 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-28 10:41:23,033 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-28 10:41:23,033 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-28 10:41:23,033 INFO L290 TraceCheckUtils]: 88: Hoare triple {60445#false} ~cond := #in~cond; {60445#false} is VALID [2022-04-28 10:41:23,033 INFO L290 TraceCheckUtils]: 89: Hoare triple {60445#false} assume 0 == ~cond; {60445#false} is VALID [2022-04-28 10:41:23,034 INFO L290 TraceCheckUtils]: 90: Hoare triple {60445#false} assume !false; {60445#false} is VALID [2022-04-28 10:41:23,034 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-28 10:41:23,034 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:23,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [671956462] [2022-04-28 10:41:23,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [671956462] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:41:23,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1043026885] [2022-04-28 10:41:23,034 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:41:23,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:23,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:41:23,036 INFO L229 MonitoredProcess]: Starting monitored process 61 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:41:23,037 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Waiting until timeout for monitored process [2022-04-28 10:41:23,193 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:41:23,194 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:41:23,195 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 10:41:23,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:23,215 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:41:25,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {60444#true} call ULTIMATE.init(); {60444#true} is VALID [2022-04-28 10:41:25,031 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-28 10:41:25,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {60444#true} assume true; {60444#true} is VALID [2022-04-28 10:41:25,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60444#true} {60444#true} #93#return; {60444#true} is VALID [2022-04-28 10:41:25,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {60444#true} call #t~ret7 := main(); {60444#true} is VALID [2022-04-28 10:41:25,032 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-28 10:41:25,032 INFO L290 TraceCheckUtils]: 6: Hoare triple {60444#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {60444#true} is VALID [2022-04-28 10:41:25,032 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-28 10:41:25,032 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-28 10:41:25,033 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-28 10:41:25,033 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-28 10:41:25,033 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-28 10:41:25,034 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-28 10:41:25,034 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-28 10:41:25,035 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-28 10:41:25,035 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-28 10:41:25,035 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-28 10:41:25,036 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-28 10:41:25,036 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-28 10:41:25,037 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-28 10:41:25,037 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-28 10:41:25,037 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-28 10:41:25,038 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-28 10:41:25,038 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-28 10:41:25,039 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-28 10:41:25,039 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-28 10:41:25,039 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-28 10:41:25,040 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-28 10:41:25,040 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-28 10:41:25,041 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-28 10:41:25,041 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-28 10:41:25,041 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-28 10:41:25,042 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-28 10:41:25,042 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-28 10:41:25,043 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-28 10:41:25,043 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-28 10:41:25,043 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-28 10:41:25,044 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-28 10:41:25,044 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-28 10:41:25,045 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-28 10:41:25,045 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-28 10:41:25,045 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-28 10:41:25,046 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-28 10:41:25,046 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-28 10:41:25,046 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-28 10:41:25,046 INFO L290 TraceCheckUtils]: 45: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume true; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:25,048 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-28 10:41:25,048 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-28 10:41:25,048 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-28 10:41:25,048 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-28 10:41:25,049 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-28 10:41:25,049 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-28 10:41:25,049 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-28 10:41:25,050 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-28 10:41:25,050 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-28 10:41:25,051 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-28 10:41:25,051 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-28 10:41:25,051 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-28 10:41:25,052 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-28 10:41:25,052 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-28 10:41:25,053 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-28 10:41:25,053 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-28 10:41:25,053 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-28 10:41:25,054 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-28 10:41:25,054 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-28 10:41:25,055 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-28 10:41:25,055 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-28 10:41:25,055 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-28 10:41:25,056 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-28 10:41:25,056 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-28 10:41:25,057 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-28 10:41:25,057 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-28 10:41:25,057 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-28 10:41:25,058 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-28 10:41:25,058 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-28 10:41:25,059 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-28 10:41:25,059 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-28 10:41:25,059 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-28 10:41:25,060 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-28 10:41:25,060 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-28 10:41:25,061 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-28 10:41:25,061 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-28 10:41:25,061 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-28 10:41:25,062 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-28 10:41:25,062 INFO L290 TraceCheckUtils]: 84: Hoare triple {60564#(<= |student_version_#in~w| 30)} assume true; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-28 10:41:25,063 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-28 10:41:25,063 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-28 10:41:25,063 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-28 10:41:25,063 INFO L290 TraceCheckUtils]: 88: Hoare triple {60445#false} ~cond := #in~cond; {60445#false} is VALID [2022-04-28 10:41:25,063 INFO L290 TraceCheckUtils]: 89: Hoare triple {60445#false} assume 0 == ~cond; {60445#false} is VALID [2022-04-28 10:41:25,063 INFO L290 TraceCheckUtils]: 90: Hoare triple {60445#false} assume !false; {60445#false} is VALID [2022-04-28 10:41:25,063 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-28 10:41:25,063 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:41:30,374 INFO L290 TraceCheckUtils]: 90: Hoare triple {60445#false} assume !false; {60445#false} is VALID [2022-04-28 10:41:30,374 INFO L290 TraceCheckUtils]: 89: Hoare triple {60445#false} assume 0 == ~cond; {60445#false} is VALID [2022-04-28 10:41:30,374 INFO L290 TraceCheckUtils]: 88: Hoare triple {60445#false} ~cond := #in~cond; {60445#false} is VALID [2022-04-28 10:41:30,374 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-28 10:41:30,374 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-28 10:41:30,375 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-28 10:41:30,375 INFO L290 TraceCheckUtils]: 84: Hoare triple {60564#(<= |student_version_#in~w| 30)} assume true; {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-28 10:41:30,376 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-28 10:41:30,376 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-28 10:41:30,376 INFO L290 TraceCheckUtils]: 81: Hoare triple {60902#(or (<= |student_version_#in~w| 30) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {60564#(<= |student_version_#in~w| 30)} is VALID [2022-04-28 10:41:30,377 INFO L290 TraceCheckUtils]: 80: Hoare triple {60906#(or (<= |student_version_#in~w| 30) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {60902#(or (<= |student_version_#in~w| 30) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-28 10:41:30,377 INFO L290 TraceCheckUtils]: 79: Hoare triple {60906#(or (<= |student_version_#in~w| 30) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {60906#(or (<= |student_version_#in~w| 30) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,377 INFO L290 TraceCheckUtils]: 78: Hoare triple {60913#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {60906#(or (<= |student_version_#in~w| 30) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,378 INFO L290 TraceCheckUtils]: 77: Hoare triple {60913#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {60913#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-28 10:41:30,378 INFO L290 TraceCheckUtils]: 76: Hoare triple {60920#(or (<= |student_version_#in~w| 30) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {60913#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-28 10:41:30,378 INFO L290 TraceCheckUtils]: 75: Hoare triple {60920#(or (<= |student_version_#in~w| 30) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {60920#(or (<= |student_version_#in~w| 30) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,379 INFO L290 TraceCheckUtils]: 74: Hoare triple {60927#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {60920#(or (<= |student_version_#in~w| 30) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,379 INFO L290 TraceCheckUtils]: 73: Hoare triple {60927#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {60927#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-28 10:41:30,379 INFO L290 TraceCheckUtils]: 72: Hoare triple {60934#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {60927#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-28 10:41:30,380 INFO L290 TraceCheckUtils]: 71: Hoare triple {60934#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {60934#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-28 10:41:30,380 INFO L290 TraceCheckUtils]: 70: Hoare triple {60941#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {60934#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-28 10:41:30,380 INFO L290 TraceCheckUtils]: 69: Hoare triple {60941#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {60941#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-28 10:41:30,381 INFO L290 TraceCheckUtils]: 68: Hoare triple {60948#(or (<= |student_version_#in~w| 30) (< (+ 14 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {60941#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-28 10:41:30,381 INFO L290 TraceCheckUtils]: 67: Hoare triple {60948#(or (<= |student_version_#in~w| 30) (< (+ 14 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {60948#(or (<= |student_version_#in~w| 30) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,382 INFO L290 TraceCheckUtils]: 66: Hoare triple {60955#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 30))} ~i~1 := 2 + ~i~1; {60948#(or (<= |student_version_#in~w| 30) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,382 INFO L290 TraceCheckUtils]: 65: Hoare triple {60955#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 30))} assume !!(~i~1 < ~w); {60955#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 30))} is VALID [2022-04-28 10:41:30,382 INFO L290 TraceCheckUtils]: 64: Hoare triple {60962#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 30))} ~i~1 := 2 + ~i~1; {60955#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 30))} is VALID [2022-04-28 10:41:30,383 INFO L290 TraceCheckUtils]: 63: Hoare triple {60962#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 30))} assume !!(~i~1 < ~w); {60962#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 30))} is VALID [2022-04-28 10:41:30,383 INFO L290 TraceCheckUtils]: 62: Hoare triple {60969#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 30))} ~i~1 := 2 + ~i~1; {60962#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 30))} is VALID [2022-04-28 10:41:30,383 INFO L290 TraceCheckUtils]: 61: Hoare triple {60969#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 30))} assume !!(~i~1 < ~w); {60969#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 30))} is VALID [2022-04-28 10:41:30,384 INFO L290 TraceCheckUtils]: 60: Hoare triple {60976#(or (<= |student_version_#in~w| 30) (< (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {60969#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 30))} is VALID [2022-04-28 10:41:30,384 INFO L290 TraceCheckUtils]: 59: Hoare triple {60976#(or (<= |student_version_#in~w| 30) (< (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {60976#(or (<= |student_version_#in~w| 30) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,384 INFO L290 TraceCheckUtils]: 58: Hoare triple {60983#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 24) student_version_~w))} ~i~1 := 2 + ~i~1; {60976#(or (<= |student_version_#in~w| 30) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,385 INFO L290 TraceCheckUtils]: 57: Hoare triple {60983#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 24) student_version_~w))} assume !!(~i~1 < ~w); {60983#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-28 10:41:30,385 INFO L290 TraceCheckUtils]: 56: Hoare triple {60990#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 26) student_version_~w))} ~i~1 := 2 + ~i~1; {60983#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-28 10:41:30,385 INFO L290 TraceCheckUtils]: 55: Hoare triple {60990#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 26) student_version_~w))} assume !!(~i~1 < ~w); {60990#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-28 10:41:30,386 INFO L290 TraceCheckUtils]: 54: Hoare triple {60997#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 28) student_version_~w))} ~i~1 := 2 + ~i~1; {60990#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-28 10:41:30,386 INFO L290 TraceCheckUtils]: 53: Hoare triple {60997#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 28) student_version_~w))} assume !!(~i~1 < ~w); {60997#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-28 10:41:30,387 INFO L290 TraceCheckUtils]: 52: Hoare triple {61004#(or (<= |student_version_#in~w| 30) (< (+ 30 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {60997#(or (<= |student_version_#in~w| 30) (< (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-28 10:41:30,387 INFO L290 TraceCheckUtils]: 51: Hoare triple {61004#(or (<= |student_version_#in~w| 30) (< (+ 30 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {61004#(or (<= |student_version_#in~w| 30) (< (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,387 INFO L290 TraceCheckUtils]: 50: Hoare triple {61011#(or (< 30 student_version_~w) (<= |student_version_#in~w| 30))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {61004#(or (<= |student_version_#in~w| 30) (< (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:41:30,387 INFO L290 TraceCheckUtils]: 49: Hoare triple {60444#true} ~w := #in~w;~is_divisible~1 := ~true~0; {61011#(or (< 30 student_version_~w) (<= |student_version_#in~w| 30))} is VALID [2022-04-28 10:41:30,388 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-28 10:41:30,388 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-28 10:41:30,389 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-28 10:41:30,389 INFO L290 TraceCheckUtils]: 45: Hoare triple {60545#(<= 31 |correct_version_#in~w|)} assume true; {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:30,389 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-28 10:41:30,389 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-28 10:41:30,390 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-28 10:41:30,390 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-28 10:41:30,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {61042#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 31 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {60545#(<= 31 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:30,391 INFO L290 TraceCheckUtils]: 39: Hoare triple {61046#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 31 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {61042#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,391 INFO L290 TraceCheckUtils]: 38: Hoare triple {61046#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 31 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {61046#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,391 INFO L290 TraceCheckUtils]: 37: Hoare triple {61053#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 31 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {61046#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,392 INFO L290 TraceCheckUtils]: 36: Hoare triple {61053#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 31 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {61053#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,392 INFO L290 TraceCheckUtils]: 35: Hoare triple {61060#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {61053#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,392 INFO L290 TraceCheckUtils]: 34: Hoare triple {61060#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {61060#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-28 10:41:30,393 INFO L290 TraceCheckUtils]: 33: Hoare triple {61067#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 31 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {61060#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-28 10:41:30,393 INFO L290 TraceCheckUtils]: 32: Hoare triple {61067#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 31 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {61067#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,394 INFO L290 TraceCheckUtils]: 31: Hoare triple {61074#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {61067#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,394 INFO L290 TraceCheckUtils]: 30: Hoare triple {61074#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {61074#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-28 10:41:30,394 INFO L290 TraceCheckUtils]: 29: Hoare triple {61081#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {61074#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-28 10:41:30,395 INFO L290 TraceCheckUtils]: 28: Hoare triple {61081#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {61081#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:41:30,395 INFO L290 TraceCheckUtils]: 27: Hoare triple {61088#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {61081#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:41:30,395 INFO L290 TraceCheckUtils]: 26: Hoare triple {61088#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {61088#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-28 10:41:30,396 INFO L290 TraceCheckUtils]: 25: Hoare triple {61095#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {61088#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-28 10:41:30,396 INFO L290 TraceCheckUtils]: 24: Hoare triple {61095#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {61095#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-28 10:41:30,396 INFO L290 TraceCheckUtils]: 23: Hoare triple {61102#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {61095#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-28 10:41:30,397 INFO L290 TraceCheckUtils]: 22: Hoare triple {61102#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {61102#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-28 10:41:30,397 INFO L290 TraceCheckUtils]: 21: Hoare triple {61109#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 31 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {61102#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-28 10:41:30,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {61109#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 31 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {61109#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {61116#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 31 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {61109#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {61116#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 31 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {61116#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,399 INFO L290 TraceCheckUtils]: 17: Hoare triple {61123#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 31 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {61116#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,399 INFO L290 TraceCheckUtils]: 16: Hoare triple {61123#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 31 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {61123#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,399 INFO L290 TraceCheckUtils]: 15: Hoare triple {61130#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} ~i~0 := 2 + ~i~0; {61123#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {61130#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} assume !!(~i~0 < ~w); {61130#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} is VALID [2022-04-28 10:41:30,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {61137#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 28)))} ~i~0 := 2 + ~i~0; {61130#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} is VALID [2022-04-28 10:41:30,400 INFO L290 TraceCheckUtils]: 12: Hoare triple {61137#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 28)))} assume !!(~i~0 < ~w); {61137#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 28)))} is VALID [2022-04-28 10:41:30,401 INFO L290 TraceCheckUtils]: 11: Hoare triple {61144#(or (<= correct_version_~w (+ correct_version_~i~0 30)) (<= 31 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {61137#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 28)))} is VALID [2022-04-28 10:41:30,401 INFO L290 TraceCheckUtils]: 10: Hoare triple {61144#(or (<= correct_version_~w (+ correct_version_~i~0 30)) (<= 31 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {61144#(or (<= correct_version_~w (+ correct_version_~i~0 30)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {61151#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w 30))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {61144#(or (<= correct_version_~w (+ correct_version_~i~0 30)) (<= 31 |correct_version_#in~w|))} is VALID [2022-04-28 10:41:30,402 INFO L290 TraceCheckUtils]: 8: Hoare triple {60444#true} ~w := #in~w;~is_divisible~0 := ~true~0; {61151#(or (<= 31 |correct_version_#in~w|) (<= correct_version_~w 30))} is VALID [2022-04-28 10:41:30,402 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-28 10:41:30,402 INFO L290 TraceCheckUtils]: 6: Hoare triple {60444#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {60444#true} is VALID [2022-04-28 10:41:30,402 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-28 10:41:30,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {60444#true} call #t~ret7 := main(); {60444#true} is VALID [2022-04-28 10:41:30,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60444#true} {60444#true} #93#return; {60444#true} is VALID [2022-04-28 10:41:30,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {60444#true} assume true; {60444#true} is VALID [2022-04-28 10:41:30,402 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-28 10:41:30,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {60444#true} call ULTIMATE.init(); {60444#true} is VALID [2022-04-28 10:41:30,403 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-28 10:41:30,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1043026885] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:41:30,403 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:41:30,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [42, 39, 39] total 110 [2022-04-28 10:41:30,403 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:30,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [409289260] [2022-04-28 10:41:30,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [409289260] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:30,403 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:30,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [42] imperfect sequences [] total 42 [2022-04-28 10:41:30,403 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1919263683] [2022-04-28 10:41:30,403 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:30,404 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-28 10:41:30,404 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:30,404 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-28 10:41:30,459 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:30,460 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 42 states [2022-04-28 10:41:30,460 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:30,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2022-04-28 10:41:30,461 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1993, Invalid=9997, Unknown=0, NotChecked=0, Total=11990 [2022-04-28 10:41:30,461 INFO L87 Difference]: Start difference. First operand 103 states and 107 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-28 10:41:33,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:33,504 INFO L93 Difference]: Finished difference Result 113 states and 116 transitions. [2022-04-28 10:41:33,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-04-28 10:41:33,504 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-28 10:41:33,504 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:33,504 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-28 10:41:33,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 108 transitions. [2022-04-28 10:41:33,505 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-28 10:41:33,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 108 transitions. [2022-04-28 10:41:33,506 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 108 transitions. [2022-04-28 10:41:33,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:33,588 INFO L225 Difference]: With dead ends: 113 [2022-04-28 10:41:33,588 INFO L226 Difference]: Without dead ends: 103 [2022-04-28 10:41:33,590 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 263 GetRequests, 113 SyntacticMatches, 5 SemanticMatches, 145 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9904 ImplicationChecksByTransitivity, 2.9s TimeCoverageRelationStatistics Valid=3390, Invalid=18072, Unknown=0, NotChecked=0, Total=21462 [2022-04-28 10:41:33,590 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 119 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 622 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 120 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 671 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 622 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:33,596 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [120 Valid, 65 Invalid, 671 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 622 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:41:33,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-28 10:41:34,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 102. [2022-04-28 10:41:34,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:34,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 102 states, 90 states have (on average 1.0444444444444445) internal successors, (94), 92 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-28 10:41:34,703 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 102 states, 90 states have (on average 1.0444444444444445) internal successors, (94), 92 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-28 10:41:34,703 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 102 states, 90 states have (on average 1.0444444444444445) internal successors, (94), 92 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-28 10:41:34,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:34,704 INFO L93 Difference]: Finished difference Result 103 states and 106 transitions. [2022-04-28 10:41:34,704 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 106 transitions. [2022-04-28 10:41:34,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:34,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:34,704 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 90 states have (on average 1.0444444444444445) internal successors, (94), 92 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 103 states. [2022-04-28 10:41:34,704 INFO L87 Difference]: Start difference. First operand has 102 states, 90 states have (on average 1.0444444444444445) internal successors, (94), 92 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 103 states. [2022-04-28 10:41:34,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:34,705 INFO L93 Difference]: Finished difference Result 103 states and 106 transitions. [2022-04-28 10:41:34,705 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 106 transitions. [2022-04-28 10:41:34,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:34,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:34,705 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:34,705 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:34,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 90 states have (on average 1.0444444444444445) internal successors, (94), 92 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-28 10:41:34,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 105 transitions. [2022-04-28 10:41:34,706 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 105 transitions. Word has length 91 [2022-04-28 10:41:34,706 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:34,706 INFO L495 AbstractCegarLoop]: Abstraction has 102 states and 105 transitions. [2022-04-28 10:41:34,707 INFO L496 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-28 10:41:34,707 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 105 transitions. [2022-04-28 10:41:34,956 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-28 10:41:34,956 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 105 transitions. [2022-04-28 10:41:34,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 94 [2022-04-28 10:41:34,956 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:34,956 INFO L195 NwaCegarLoop]: trace histogram [16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:34,973 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Ended with exit code 0 [2022-04-28 10:41:35,157 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable63,61 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:35,157 INFO L420 AbstractCegarLoop]: === Iteration 65 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:35,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:35,157 INFO L85 PathProgramCache]: Analyzing trace with hash 125868023, now seen corresponding path program 59 times [2022-04-28 10:41:35,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:35,158 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2028765732] [2022-04-28 10:41:35,160 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:41:35,160 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:41:35,160 INFO L85 PathProgramCache]: Analyzing trace with hash 125868023, now seen corresponding path program 60 times [2022-04-28 10:41:35,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:35,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1025113299] [2022-04-28 10:41:35,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:35,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:35,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:35,217 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:35,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:35,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {61972#(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; {61888#true} is VALID [2022-04-28 10:41:35,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {61888#true} assume true; {61888#true} is VALID [2022-04-28 10:41:35,220 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {61888#true} {61888#true} #93#return; {61888#true} is VALID [2022-04-28 10:41:35,220 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:41:35,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:35,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {61888#true} ~w := #in~w;~is_divisible~0 := ~true~0; {61973#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:41:35,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {61973#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {61974#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {61974#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61974#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,523 INFO L290 TraceCheckUtils]: 3: Hoare triple {61974#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61975#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,523 INFO L290 TraceCheckUtils]: 4: Hoare triple {61975#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61975#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {61975#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61976#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,524 INFO L290 TraceCheckUtils]: 6: Hoare triple {61976#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61976#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {61976#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61977#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,524 INFO L290 TraceCheckUtils]: 8: Hoare triple {61977#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61977#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,525 INFO L290 TraceCheckUtils]: 9: Hoare triple {61977#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61978#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:41:35,525 INFO L290 TraceCheckUtils]: 10: Hoare triple {61978#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {61978#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:41:35,525 INFO L290 TraceCheckUtils]: 11: Hoare triple {61978#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {61979#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,526 INFO L290 TraceCheckUtils]: 12: Hoare triple {61979#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61979#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,526 INFO L290 TraceCheckUtils]: 13: Hoare triple {61979#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61980#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,526 INFO L290 TraceCheckUtils]: 14: Hoare triple {61980#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61980#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,527 INFO L290 TraceCheckUtils]: 15: Hoare triple {61980#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61981#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:41:35,527 INFO L290 TraceCheckUtils]: 16: Hoare triple {61981#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {61981#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:41:35,528 INFO L290 TraceCheckUtils]: 17: Hoare triple {61981#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {61982#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,528 INFO L290 TraceCheckUtils]: 18: Hoare triple {61982#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61982#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,528 INFO L290 TraceCheckUtils]: 19: Hoare triple {61982#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61983#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:41:35,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {61983#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {61983#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:41:35,529 INFO L290 TraceCheckUtils]: 21: Hoare triple {61983#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {61984#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,529 INFO L290 TraceCheckUtils]: 22: Hoare triple {61984#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61984#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,530 INFO L290 TraceCheckUtils]: 23: Hoare triple {61984#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61985#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,530 INFO L290 TraceCheckUtils]: 24: Hoare triple {61985#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61985#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,530 INFO L290 TraceCheckUtils]: 25: Hoare triple {61985#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61986#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,531 INFO L290 TraceCheckUtils]: 26: Hoare triple {61986#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61986#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,531 INFO L290 TraceCheckUtils]: 27: Hoare triple {61986#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61987#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,531 INFO L290 TraceCheckUtils]: 28: Hoare triple {61987#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61987#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,532 INFO L290 TraceCheckUtils]: 29: Hoare triple {61987#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61988#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,532 INFO L290 TraceCheckUtils]: 30: Hoare triple {61988#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61988#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,533 INFO L290 TraceCheckUtils]: 31: Hoare triple {61988#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61989#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,533 INFO L290 TraceCheckUtils]: 32: Hoare triple {61989#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61989#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,533 INFO L290 TraceCheckUtils]: 33: Hoare triple {61989#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61990#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 32)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,534 INFO L290 TraceCheckUtils]: 34: Hoare triple {61990#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 32)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {61991#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 32)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,534 INFO L290 TraceCheckUtils]: 35: Hoare triple {61991#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 32)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:35,534 INFO L290 TraceCheckUtils]: 36: Hoare triple {61992#(<= |correct_version_#in~w| 31)} #res := ~is_divisible~0; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:35,535 INFO L290 TraceCheckUtils]: 37: Hoare triple {61992#(<= |correct_version_#in~w| 31)} assume true; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:35,535 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {61992#(<= |correct_version_#in~w| 31)} {61888#true} #87#return; {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} is VALID [2022-04-28 10:41:35,536 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-04-28 10:41:35,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:35,846 INFO L290 TraceCheckUtils]: 0: Hoare triple {61888#true} ~w := #in~w;~is_divisible~1 := ~true~0; {61993#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:41:35,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {61993#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {61994#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {61994#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {61994#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,847 INFO L290 TraceCheckUtils]: 3: Hoare triple {61994#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {61995#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,848 INFO L290 TraceCheckUtils]: 4: Hoare triple {61995#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {61995#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {61995#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {61996#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:41:35,848 INFO L290 TraceCheckUtils]: 6: Hoare triple {61996#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {61996#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:41:35,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {61996#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {61997#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:41:35,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {61997#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {61997#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:41:35,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {61997#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {61998#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:41:35,850 INFO L290 TraceCheckUtils]: 10: Hoare triple {61998#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {61998#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:41:35,850 INFO L290 TraceCheckUtils]: 11: Hoare triple {61998#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {61999#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,851 INFO L290 TraceCheckUtils]: 12: Hoare triple {61999#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {61999#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {61999#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62000#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:41:35,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {62000#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {62000#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:41:35,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {62000#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {62001#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,852 INFO L290 TraceCheckUtils]: 16: Hoare triple {62001#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62001#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,852 INFO L290 TraceCheckUtils]: 17: Hoare triple {62001#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62002#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,853 INFO L290 TraceCheckUtils]: 18: Hoare triple {62002#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62002#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,853 INFO L290 TraceCheckUtils]: 19: Hoare triple {62002#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62003#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {62003#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62003#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,854 INFO L290 TraceCheckUtils]: 21: Hoare triple {62003#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62004#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:41:35,854 INFO L290 TraceCheckUtils]: 22: Hoare triple {62004#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {62004#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:41:35,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {62004#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {62005#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,855 INFO L290 TraceCheckUtils]: 24: Hoare triple {62005#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62005#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,855 INFO L290 TraceCheckUtils]: 25: Hoare triple {62005#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62006#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {62006#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62006#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,856 INFO L290 TraceCheckUtils]: 27: Hoare triple {62006#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62007#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,856 INFO L290 TraceCheckUtils]: 28: Hoare triple {62007#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62007#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,857 INFO L290 TraceCheckUtils]: 29: Hoare triple {62007#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62008#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,857 INFO L290 TraceCheckUtils]: 30: Hoare triple {62008#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62008#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,857 INFO L290 TraceCheckUtils]: 31: Hoare triple {62008#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62009#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:41:35,858 INFO L290 TraceCheckUtils]: 32: Hoare triple {62009#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {62009#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:41:35,858 INFO L290 TraceCheckUtils]: 33: Hoare triple {62009#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {62010#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,858 INFO L290 TraceCheckUtils]: 34: Hoare triple {62010#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {62010#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,859 INFO L290 TraceCheckUtils]: 35: Hoare triple {62010#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:35,859 INFO L290 TraceCheckUtils]: 36: Hoare triple {62011#(<= 32 |student_version_#in~w|)} #res := ~is_divisible~1; {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:35,859 INFO L290 TraceCheckUtils]: 37: Hoare triple {62011#(<= 32 |student_version_#in~w|)} assume true; {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:35,860 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {62011#(<= 32 |student_version_#in~w|)} {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} #89#return; {61889#false} is VALID [2022-04-28 10:41:35,861 INFO L272 TraceCheckUtils]: 0: Hoare triple {61888#true} call ULTIMATE.init(); {61972#(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-28 10:41:35,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {61972#(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; {61888#true} is VALID [2022-04-28 10:41:35,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {61888#true} assume true; {61888#true} is VALID [2022-04-28 10:41:35,861 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61888#true} {61888#true} #93#return; {61888#true} is VALID [2022-04-28 10:41:35,861 INFO L272 TraceCheckUtils]: 4: Hoare triple {61888#true} call #t~ret7 := main(); {61888#true} is VALID [2022-04-28 10:41:35,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {61888#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {61888#true} is VALID [2022-04-28 10:41:35,861 INFO L290 TraceCheckUtils]: 6: Hoare triple {61888#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {61888#true} is VALID [2022-04-28 10:41:35,861 INFO L272 TraceCheckUtils]: 7: Hoare triple {61888#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {61888#true} is VALID [2022-04-28 10:41:35,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {61888#true} ~w := #in~w;~is_divisible~0 := ~true~0; {61973#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:41:35,862 INFO L290 TraceCheckUtils]: 9: Hoare triple {61973#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {61974#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,862 INFO L290 TraceCheckUtils]: 10: Hoare triple {61974#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61974#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {61974#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61975#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,863 INFO L290 TraceCheckUtils]: 12: Hoare triple {61975#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61975#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {61975#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61976#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {61976#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61976#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,864 INFO L290 TraceCheckUtils]: 15: Hoare triple {61976#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61977#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,864 INFO L290 TraceCheckUtils]: 16: Hoare triple {61977#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61977#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,864 INFO L290 TraceCheckUtils]: 17: Hoare triple {61977#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61978#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:41:35,865 INFO L290 TraceCheckUtils]: 18: Hoare triple {61978#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {61978#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:41:35,865 INFO L290 TraceCheckUtils]: 19: Hoare triple {61978#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {61979#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,865 INFO L290 TraceCheckUtils]: 20: Hoare triple {61979#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61979#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,866 INFO L290 TraceCheckUtils]: 21: Hoare triple {61979#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61980#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,866 INFO L290 TraceCheckUtils]: 22: Hoare triple {61980#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61980#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {61980#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61981#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:41:35,867 INFO L290 TraceCheckUtils]: 24: Hoare triple {61981#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {61981#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:41:35,867 INFO L290 TraceCheckUtils]: 25: Hoare triple {61981#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {61982#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {61982#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61982#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {61982#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61983#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:41:35,868 INFO L290 TraceCheckUtils]: 28: Hoare triple {61983#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {61983#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:41:35,869 INFO L290 TraceCheckUtils]: 29: Hoare triple {61983#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {61984#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,869 INFO L290 TraceCheckUtils]: 30: Hoare triple {61984#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61984#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {61984#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61985#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,870 INFO L290 TraceCheckUtils]: 32: Hoare triple {61985#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61985#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,870 INFO L290 TraceCheckUtils]: 33: Hoare triple {61985#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61986#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,870 INFO L290 TraceCheckUtils]: 34: Hoare triple {61986#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61986#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,871 INFO L290 TraceCheckUtils]: 35: Hoare triple {61986#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61987#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,871 INFO L290 TraceCheckUtils]: 36: Hoare triple {61987#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61987#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,872 INFO L290 TraceCheckUtils]: 37: Hoare triple {61987#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61988#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,872 INFO L290 TraceCheckUtils]: 38: Hoare triple {61988#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61988#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,872 INFO L290 TraceCheckUtils]: 39: Hoare triple {61988#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61989#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,873 INFO L290 TraceCheckUtils]: 40: Hoare triple {61989#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {61989#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,873 INFO L290 TraceCheckUtils]: 41: Hoare triple {61989#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {61990#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 32)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,873 INFO L290 TraceCheckUtils]: 42: Hoare triple {61990#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 32)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {61991#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 32)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:35,874 INFO L290 TraceCheckUtils]: 43: Hoare triple {61991#(and (<= correct_version_~w correct_version_~i~0) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 32)) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:35,874 INFO L290 TraceCheckUtils]: 44: Hoare triple {61992#(<= |correct_version_#in~w| 31)} #res := ~is_divisible~0; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:35,874 INFO L290 TraceCheckUtils]: 45: Hoare triple {61992#(<= |correct_version_#in~w| 31)} assume true; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:35,875 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {61992#(<= |correct_version_#in~w| 31)} {61888#true} #87#return; {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} is VALID [2022-04-28 10:41:35,875 INFO L290 TraceCheckUtils]: 47: Hoare triple {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} is VALID [2022-04-28 10:41:35,876 INFO L272 TraceCheckUtils]: 48: Hoare triple {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {61888#true} is VALID [2022-04-28 10:41:35,876 INFO L290 TraceCheckUtils]: 49: Hoare triple {61888#true} ~w := #in~w;~is_divisible~1 := ~true~0; {61993#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:41:35,876 INFO L290 TraceCheckUtils]: 50: Hoare triple {61993#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {61994#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,876 INFO L290 TraceCheckUtils]: 51: Hoare triple {61994#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {61994#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,877 INFO L290 TraceCheckUtils]: 52: Hoare triple {61994#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {61995#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,877 INFO L290 TraceCheckUtils]: 53: Hoare triple {61995#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {61995#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,877 INFO L290 TraceCheckUtils]: 54: Hoare triple {61995#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {61996#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:41:35,878 INFO L290 TraceCheckUtils]: 55: Hoare triple {61996#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {61996#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:41:35,878 INFO L290 TraceCheckUtils]: 56: Hoare triple {61996#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {61997#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:41:35,878 INFO L290 TraceCheckUtils]: 57: Hoare triple {61997#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {61997#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:41:35,879 INFO L290 TraceCheckUtils]: 58: Hoare triple {61997#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {61998#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:41:35,879 INFO L290 TraceCheckUtils]: 59: Hoare triple {61998#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {61998#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:41:35,880 INFO L290 TraceCheckUtils]: 60: Hoare triple {61998#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {61999#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,880 INFO L290 TraceCheckUtils]: 61: Hoare triple {61999#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {61999#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,880 INFO L290 TraceCheckUtils]: 62: Hoare triple {61999#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62000#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:41:35,881 INFO L290 TraceCheckUtils]: 63: Hoare triple {62000#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {62000#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:41:35,881 INFO L290 TraceCheckUtils]: 64: Hoare triple {62000#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {62001#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,881 INFO L290 TraceCheckUtils]: 65: Hoare triple {62001#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62001#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,882 INFO L290 TraceCheckUtils]: 66: Hoare triple {62001#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62002#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,882 INFO L290 TraceCheckUtils]: 67: Hoare triple {62002#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62002#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,882 INFO L290 TraceCheckUtils]: 68: Hoare triple {62002#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62003#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,883 INFO L290 TraceCheckUtils]: 69: Hoare triple {62003#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62003#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,883 INFO L290 TraceCheckUtils]: 70: Hoare triple {62003#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62004#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:41:35,883 INFO L290 TraceCheckUtils]: 71: Hoare triple {62004#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {62004#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:41:35,884 INFO L290 TraceCheckUtils]: 72: Hoare triple {62004#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {62005#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,884 INFO L290 TraceCheckUtils]: 73: Hoare triple {62005#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62005#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,885 INFO L290 TraceCheckUtils]: 74: Hoare triple {62005#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62006#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,885 INFO L290 TraceCheckUtils]: 75: Hoare triple {62006#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62006#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,885 INFO L290 TraceCheckUtils]: 76: Hoare triple {62006#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62007#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,886 INFO L290 TraceCheckUtils]: 77: Hoare triple {62007#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62007#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,886 INFO L290 TraceCheckUtils]: 78: Hoare triple {62007#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62008#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,886 INFO L290 TraceCheckUtils]: 79: Hoare triple {62008#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {62008#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,887 INFO L290 TraceCheckUtils]: 80: Hoare triple {62008#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {62009#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:41:35,887 INFO L290 TraceCheckUtils]: 81: Hoare triple {62009#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {62009#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:41:35,887 INFO L290 TraceCheckUtils]: 82: Hoare triple {62009#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {62010#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,888 INFO L290 TraceCheckUtils]: 83: Hoare triple {62010#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {62010#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:35,888 INFO L290 TraceCheckUtils]: 84: Hoare triple {62010#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:35,888 INFO L290 TraceCheckUtils]: 85: Hoare triple {62011#(<= 32 |student_version_#in~w|)} #res := ~is_divisible~1; {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:35,889 INFO L290 TraceCheckUtils]: 86: Hoare triple {62011#(<= 32 |student_version_#in~w|)} assume true; {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:35,889 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {62011#(<= 32 |student_version_#in~w|)} {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} #89#return; {61889#false} is VALID [2022-04-28 10:41:35,889 INFO L290 TraceCheckUtils]: 88: Hoare triple {61889#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {61889#false} is VALID [2022-04-28 10:41:35,890 INFO L272 TraceCheckUtils]: 89: Hoare triple {61889#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {61889#false} is VALID [2022-04-28 10:41:35,890 INFO L290 TraceCheckUtils]: 90: Hoare triple {61889#false} ~cond := #in~cond; {61889#false} is VALID [2022-04-28 10:41:35,890 INFO L290 TraceCheckUtils]: 91: Hoare triple {61889#false} assume 0 == ~cond; {61889#false} is VALID [2022-04-28 10:41:35,890 INFO L290 TraceCheckUtils]: 92: Hoare triple {61889#false} assume !false; {61889#false} is VALID [2022-04-28 10:41:35,890 INFO L134 CoverageAnalysis]: Checked inductivity of 512 backedges. 256 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:41:35,890 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:35,890 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1025113299] [2022-04-28 10:41:35,890 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1025113299] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:41:35,890 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1956139500] [2022-04-28 10:41:35,890 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:41:35,890 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:35,891 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:41:35,891 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:41:35,892 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2022-04-28 10:41:36,054 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 17 check-sat command(s) [2022-04-28 10:41:36,054 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:41:36,056 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 10:41:36,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:36,082 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:41:37,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {61888#true} call ULTIMATE.init(); {61888#true} is VALID [2022-04-28 10:41:37,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {61888#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {61888#true} is VALID [2022-04-28 10:41:37,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {61888#true} assume true; {61888#true} is VALID [2022-04-28 10:41:37,761 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61888#true} {61888#true} #93#return; {61888#true} is VALID [2022-04-28 10:41:37,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {61888#true} call #t~ret7 := main(); {61888#true} is VALID [2022-04-28 10:41:37,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {61888#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {61888#true} is VALID [2022-04-28 10:41:37,761 INFO L290 TraceCheckUtils]: 6: Hoare triple {61888#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {61888#true} is VALID [2022-04-28 10:41:37,761 INFO L272 TraceCheckUtils]: 7: Hoare triple {61888#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {61888#true} is VALID [2022-04-28 10:41:37,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {61888#true} ~w := #in~w;~is_divisible~0 := ~true~0; {62039#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:41:37,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {62039#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {62043#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:41:37,762 INFO L290 TraceCheckUtils]: 10: Hoare triple {62043#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {62043#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:41:37,763 INFO L290 TraceCheckUtils]: 11: Hoare triple {62043#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {62050#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:41:37,763 INFO L290 TraceCheckUtils]: 12: Hoare triple {62050#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {62050#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:41:37,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {62050#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {62057#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:41:37,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {62057#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {62057#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:41:37,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {62057#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {62064#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:41:37,765 INFO L290 TraceCheckUtils]: 16: Hoare triple {62064#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {62064#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:41:37,765 INFO L290 TraceCheckUtils]: 17: Hoare triple {62064#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {62071#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:41:37,765 INFO L290 TraceCheckUtils]: 18: Hoare triple {62071#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {62071#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:41:37,766 INFO L290 TraceCheckUtils]: 19: Hoare triple {62071#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {62078#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:41:37,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {62078#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {62078#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:41:37,766 INFO L290 TraceCheckUtils]: 21: Hoare triple {62078#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {62085#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:41:37,767 INFO L290 TraceCheckUtils]: 22: Hoare triple {62085#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {62085#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:41:37,767 INFO L290 TraceCheckUtils]: 23: Hoare triple {62085#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {62092#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:41:37,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {62092#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {62092#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:41:37,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {62092#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {62099#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:41:37,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {62099#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {62099#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:41:37,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {62099#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {62106#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:41:37,769 INFO L290 TraceCheckUtils]: 28: Hoare triple {62106#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {62106#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:41:37,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {62106#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {62113#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:41:37,770 INFO L290 TraceCheckUtils]: 30: Hoare triple {62113#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {62113#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:41:37,770 INFO L290 TraceCheckUtils]: 31: Hoare triple {62113#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {62120#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:41:37,771 INFO L290 TraceCheckUtils]: 32: Hoare triple {62120#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {62120#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:41:37,771 INFO L290 TraceCheckUtils]: 33: Hoare triple {62120#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {62127#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:41:37,771 INFO L290 TraceCheckUtils]: 34: Hoare triple {62127#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {62127#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:41:37,772 INFO L290 TraceCheckUtils]: 35: Hoare triple {62127#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {62134#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:41:37,772 INFO L290 TraceCheckUtils]: 36: Hoare triple {62134#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {62134#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:41:37,772 INFO L290 TraceCheckUtils]: 37: Hoare triple {62134#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {62141#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:41:37,773 INFO L290 TraceCheckUtils]: 38: Hoare triple {62141#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !!(~i~0 < ~w); {62141#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:41:37,773 INFO L290 TraceCheckUtils]: 39: Hoare triple {62141#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} ~i~0 := 2 + ~i~0; {62148#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:41:37,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {62148#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} assume !!(~i~0 < ~w); {62148#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:41:37,774 INFO L290 TraceCheckUtils]: 41: Hoare triple {62148#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} ~i~0 := 2 + ~i~0; {62155#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} is VALID [2022-04-28 10:41:37,774 INFO L290 TraceCheckUtils]: 42: Hoare triple {62155#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} assume !(~i~0 < ~w); {62159#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32) (not (< correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-28 10:41:37,775 INFO L290 TraceCheckUtils]: 43: Hoare triple {62159#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32) (not (< correct_version_~i~0 correct_version_~w)))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:37,775 INFO L290 TraceCheckUtils]: 44: Hoare triple {61992#(<= |correct_version_#in~w| 31)} #res := ~is_divisible~0; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:37,775 INFO L290 TraceCheckUtils]: 45: Hoare triple {61992#(<= |correct_version_#in~w| 31)} assume true; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:37,776 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {61992#(<= |correct_version_#in~w| 31)} {61888#true} #87#return; {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} is VALID [2022-04-28 10:41:37,776 INFO L290 TraceCheckUtils]: 47: Hoare triple {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} is VALID [2022-04-28 10:41:37,776 INFO L272 TraceCheckUtils]: 48: Hoare triple {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {61888#true} is VALID [2022-04-28 10:41:37,777 INFO L290 TraceCheckUtils]: 49: Hoare triple {61888#true} ~w := #in~w;~is_divisible~1 := ~true~0; {62181#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-28 10:41:37,777 INFO L290 TraceCheckUtils]: 50: Hoare triple {62181#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {62185#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,777 INFO L290 TraceCheckUtils]: 51: Hoare triple {62185#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62185#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,778 INFO L290 TraceCheckUtils]: 52: Hoare triple {62185#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62192#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,778 INFO L290 TraceCheckUtils]: 53: Hoare triple {62192#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62192#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,779 INFO L290 TraceCheckUtils]: 54: Hoare triple {62192#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62199#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:41:37,779 INFO L290 TraceCheckUtils]: 55: Hoare triple {62199#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {62199#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:41:37,779 INFO L290 TraceCheckUtils]: 56: Hoare triple {62199#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {62206#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,780 INFO L290 TraceCheckUtils]: 57: Hoare triple {62206#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62206#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,780 INFO L290 TraceCheckUtils]: 58: Hoare triple {62206#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62213#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,780 INFO L290 TraceCheckUtils]: 59: Hoare triple {62213#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62213#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,781 INFO L290 TraceCheckUtils]: 60: Hoare triple {62213#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62220#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,781 INFO L290 TraceCheckUtils]: 61: Hoare triple {62220#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62220#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,781 INFO L290 TraceCheckUtils]: 62: Hoare triple {62220#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62227#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,782 INFO L290 TraceCheckUtils]: 63: Hoare triple {62227#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62227#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,782 INFO L290 TraceCheckUtils]: 64: Hoare triple {62227#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62234#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,783 INFO L290 TraceCheckUtils]: 65: Hoare triple {62234#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62234#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {62234#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62241#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,783 INFO L290 TraceCheckUtils]: 67: Hoare triple {62241#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62241#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,784 INFO L290 TraceCheckUtils]: 68: Hoare triple {62241#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62248#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,784 INFO L290 TraceCheckUtils]: 69: Hoare triple {62248#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62248#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,784 INFO L290 TraceCheckUtils]: 70: Hoare triple {62248#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62255#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,785 INFO L290 TraceCheckUtils]: 71: Hoare triple {62255#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62255#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,785 INFO L290 TraceCheckUtils]: 72: Hoare triple {62255#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62262#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,785 INFO L290 TraceCheckUtils]: 73: Hoare triple {62262#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62262#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,786 INFO L290 TraceCheckUtils]: 74: Hoare triple {62262#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62269#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,786 INFO L290 TraceCheckUtils]: 75: Hoare triple {62269#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62269#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,787 INFO L290 TraceCheckUtils]: 76: Hoare triple {62269#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62276#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,787 INFO L290 TraceCheckUtils]: 77: Hoare triple {62276#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62276#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,787 INFO L290 TraceCheckUtils]: 78: Hoare triple {62276#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62283#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,788 INFO L290 TraceCheckUtils]: 79: Hoare triple {62283#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62283#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,788 INFO L290 TraceCheckUtils]: 80: Hoare triple {62283#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62290#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,788 INFO L290 TraceCheckUtils]: 81: Hoare triple {62290#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {62290#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,789 INFO L290 TraceCheckUtils]: 82: Hoare triple {62290#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62297#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,789 INFO L290 TraceCheckUtils]: 83: Hoare triple {62297#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {62297#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:41:37,789 INFO L290 TraceCheckUtils]: 84: Hoare triple {62297#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:37,790 INFO L290 TraceCheckUtils]: 85: Hoare triple {62011#(<= 32 |student_version_#in~w|)} #res := ~is_divisible~1; {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:37,790 INFO L290 TraceCheckUtils]: 86: Hoare triple {62011#(<= 32 |student_version_#in~w|)} assume true; {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:37,791 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {62011#(<= 32 |student_version_#in~w|)} {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} #89#return; {61889#false} is VALID [2022-04-28 10:41:37,791 INFO L290 TraceCheckUtils]: 88: Hoare triple {61889#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {61889#false} is VALID [2022-04-28 10:41:37,791 INFO L272 TraceCheckUtils]: 89: Hoare triple {61889#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {61889#false} is VALID [2022-04-28 10:41:37,791 INFO L290 TraceCheckUtils]: 90: Hoare triple {61889#false} ~cond := #in~cond; {61889#false} is VALID [2022-04-28 10:41:37,791 INFO L290 TraceCheckUtils]: 91: Hoare triple {61889#false} assume 0 == ~cond; {61889#false} is VALID [2022-04-28 10:41:37,791 INFO L290 TraceCheckUtils]: 92: Hoare triple {61889#false} assume !false; {61889#false} is VALID [2022-04-28 10:41:37,791 INFO L134 CoverageAnalysis]: Checked inductivity of 512 backedges. 256 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:41:37,791 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:41:46,811 INFO L290 TraceCheckUtils]: 92: Hoare triple {61889#false} assume !false; {61889#false} is VALID [2022-04-28 10:41:46,812 INFO L290 TraceCheckUtils]: 91: Hoare triple {61889#false} assume 0 == ~cond; {61889#false} is VALID [2022-04-28 10:41:46,812 INFO L290 TraceCheckUtils]: 90: Hoare triple {61889#false} ~cond := #in~cond; {61889#false} is VALID [2022-04-28 10:41:46,812 INFO L272 TraceCheckUtils]: 89: Hoare triple {61889#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {61889#false} is VALID [2022-04-28 10:41:46,812 INFO L290 TraceCheckUtils]: 88: Hoare triple {61889#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {61889#false} is VALID [2022-04-28 10:41:46,813 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {62011#(<= 32 |student_version_#in~w|)} {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} #89#return; {61889#false} is VALID [2022-04-28 10:41:46,813 INFO L290 TraceCheckUtils]: 86: Hoare triple {62011#(<= 32 |student_version_#in~w|)} assume true; {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:46,814 INFO L290 TraceCheckUtils]: 85: Hoare triple {62011#(<= 32 |student_version_#in~w|)} #res := ~is_divisible~1; {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:46,814 INFO L290 TraceCheckUtils]: 84: Hoare triple {62355#(or (<= 32 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {62011#(<= 32 |student_version_#in~w|)} is VALID [2022-04-28 10:41:46,814 INFO L290 TraceCheckUtils]: 83: Hoare triple {62355#(or (<= 32 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {62355#(or (<= 32 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-28 10:41:46,815 INFO L290 TraceCheckUtils]: 82: Hoare triple {62362#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {62355#(or (<= 32 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-28 10:41:46,815 INFO L290 TraceCheckUtils]: 81: Hoare triple {62362#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {62362#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-28 10:41:46,816 INFO L290 TraceCheckUtils]: 80: Hoare triple {62369#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 32 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62362#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-28 10:41:46,816 INFO L290 TraceCheckUtils]: 79: Hoare triple {62369#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 32 |student_version_#in~w|))} assume !!(~i~1 < ~w); {62369#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,816 INFO L290 TraceCheckUtils]: 78: Hoare triple {62376#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 32 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62369#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,817 INFO L290 TraceCheckUtils]: 77: Hoare triple {62376#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 32 |student_version_#in~w|))} assume !!(~i~1 < ~w); {62376#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,817 INFO L290 TraceCheckUtils]: 76: Hoare triple {62383#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {62376#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,817 INFO L290 TraceCheckUtils]: 75: Hoare triple {62383#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {62383#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-28 10:41:46,818 INFO L290 TraceCheckUtils]: 74: Hoare triple {62390#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 32 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62383#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-28 10:41:46,818 INFO L290 TraceCheckUtils]: 73: Hoare triple {62390#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 32 |student_version_#in~w|))} assume !!(~i~1 < ~w); {62390#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,819 INFO L290 TraceCheckUtils]: 72: Hoare triple {62397#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {62390#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,819 INFO L290 TraceCheckUtils]: 71: Hoare triple {62397#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {62397#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-28 10:41:46,820 INFO L290 TraceCheckUtils]: 70: Hoare triple {62404#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 32 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62397#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-28 10:41:46,820 INFO L290 TraceCheckUtils]: 69: Hoare triple {62404#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 32 |student_version_#in~w|))} assume !!(~i~1 < ~w); {62404#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,820 INFO L290 TraceCheckUtils]: 68: Hoare triple {62411#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {62404#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,821 INFO L290 TraceCheckUtils]: 67: Hoare triple {62411#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {62411#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-28 10:41:46,821 INFO L290 TraceCheckUtils]: 66: Hoare triple {62418#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {62411#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-28 10:41:46,822 INFO L290 TraceCheckUtils]: 65: Hoare triple {62418#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {62418#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-28 10:41:46,822 INFO L290 TraceCheckUtils]: 64: Hoare triple {62425#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {62418#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-28 10:41:46,822 INFO L290 TraceCheckUtils]: 63: Hoare triple {62425#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {62425#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-28 10:41:46,823 INFO L290 TraceCheckUtils]: 62: Hoare triple {62432#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {62425#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-28 10:41:46,823 INFO L290 TraceCheckUtils]: 61: Hoare triple {62432#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {62432#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-28 10:41:46,824 INFO L290 TraceCheckUtils]: 60: Hoare triple {62439#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 32 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62432#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-28 10:41:46,824 INFO L290 TraceCheckUtils]: 59: Hoare triple {62439#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 32 |student_version_#in~w|))} assume !!(~i~1 < ~w); {62439#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,825 INFO L290 TraceCheckUtils]: 58: Hoare triple {62446#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 26)))} ~i~1 := 2 + ~i~1; {62439#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,825 INFO L290 TraceCheckUtils]: 57: Hoare triple {62446#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 26)))} assume !!(~i~1 < ~w); {62446#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 26)))} is VALID [2022-04-28 10:41:46,825 INFO L290 TraceCheckUtils]: 56: Hoare triple {62453#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 32 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62446#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 26)))} is VALID [2022-04-28 10:41:46,826 INFO L290 TraceCheckUtils]: 55: Hoare triple {62453#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 32 |student_version_#in~w|))} assume !!(~i~1 < ~w); {62453#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,826 INFO L290 TraceCheckUtils]: 54: Hoare triple {62460#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 32 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {62453#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,827 INFO L290 TraceCheckUtils]: 53: Hoare triple {62460#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 32 |student_version_#in~w|))} assume !!(~i~1 < ~w); {62460#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,827 INFO L290 TraceCheckUtils]: 52: Hoare triple {62467#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 32 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {62460#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,827 INFO L290 TraceCheckUtils]: 51: Hoare triple {62467#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 32 student_version_~i~1)))} assume !!(~i~1 < ~w); {62467#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 32 student_version_~i~1)))} is VALID [2022-04-28 10:41:46,828 INFO L290 TraceCheckUtils]: 50: Hoare triple {62474#(or (< student_version_~w 32) (<= 32 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {62467#(or (<= 32 |student_version_#in~w|) (< student_version_~w (+ 32 student_version_~i~1)))} is VALID [2022-04-28 10:41:46,828 INFO L290 TraceCheckUtils]: 49: Hoare triple {61888#true} ~w := #in~w;~is_divisible~1 := ~true~0; {62474#(or (< student_version_~w 32) (<= 32 |student_version_#in~w|))} is VALID [2022-04-28 10:41:46,828 INFO L272 TraceCheckUtils]: 48: Hoare triple {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {61888#true} is VALID [2022-04-28 10:41:46,829 INFO L290 TraceCheckUtils]: 47: Hoare triple {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} is VALID [2022-04-28 10:41:46,829 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {61992#(<= |correct_version_#in~w| 31)} {61888#true} #87#return; {61932#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 31)))} is VALID [2022-04-28 10:41:46,830 INFO L290 TraceCheckUtils]: 45: Hoare triple {61992#(<= |correct_version_#in~w| 31)} assume true; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:46,830 INFO L290 TraceCheckUtils]: 44: Hoare triple {61992#(<= |correct_version_#in~w| 31)} #res := ~is_divisible~0; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:46,830 INFO L290 TraceCheckUtils]: 43: Hoare triple {62496#(or (<= |correct_version_#in~w| 31) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {61992#(<= |correct_version_#in~w| 31)} is VALID [2022-04-28 10:41:46,831 INFO L290 TraceCheckUtils]: 42: Hoare triple {62500#(or (<= |correct_version_#in~w| 31) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {62496#(or (<= |correct_version_#in~w| 31) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-28 10:41:46,831 INFO L290 TraceCheckUtils]: 41: Hoare triple {62504#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {62500#(or (<= |correct_version_#in~w| 31) (< correct_version_~i~0 correct_version_~w) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-28 10:41:46,832 INFO L290 TraceCheckUtils]: 40: Hoare triple {62504#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {62504#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-28 10:41:46,832 INFO L290 TraceCheckUtils]: 39: Hoare triple {62511#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 31))} ~i~0 := 2 + ~i~0; {62504#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-28 10:41:46,832 INFO L290 TraceCheckUtils]: 38: Hoare triple {62511#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 31))} assume !!(~i~0 < ~w); {62511#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,833 INFO L290 TraceCheckUtils]: 37: Hoare triple {62518#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {62511#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {62518#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {62518#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-28 10:41:46,834 INFO L290 TraceCheckUtils]: 35: Hoare triple {62525#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {62518#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-28 10:41:46,834 INFO L290 TraceCheckUtils]: 34: Hoare triple {62525#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {62525#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-28 10:41:46,834 INFO L290 TraceCheckUtils]: 33: Hoare triple {62532#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {62525#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-28 10:41:46,835 INFO L290 TraceCheckUtils]: 32: Hoare triple {62532#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {62532#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-28 10:41:46,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {62539#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {62532#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-28 10:41:46,836 INFO L290 TraceCheckUtils]: 30: Hoare triple {62539#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {62539#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-28 10:41:46,836 INFO L290 TraceCheckUtils]: 29: Hoare triple {62546#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {62539#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-28 10:41:46,836 INFO L290 TraceCheckUtils]: 28: Hoare triple {62546#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {62546#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-28 10:41:46,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {62553#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 31))} ~i~0 := 2 + ~i~0; {62546#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-28 10:41:46,837 INFO L290 TraceCheckUtils]: 26: Hoare triple {62553#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 31))} assume !!(~i~0 < ~w); {62553#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,838 INFO L290 TraceCheckUtils]: 25: Hoare triple {62560#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 31))} ~i~0 := 2 + ~i~0; {62553#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,838 INFO L290 TraceCheckUtils]: 24: Hoare triple {62560#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 31))} assume !!(~i~0 < ~w); {62560#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,839 INFO L290 TraceCheckUtils]: 23: Hoare triple {62567#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 20) correct_version_~w))} ~i~0 := 2 + ~i~0; {62560#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {62567#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 20) correct_version_~w))} assume !!(~i~0 < ~w); {62567#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-28 10:41:46,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {62574#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {62567#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-28 10:41:46,840 INFO L290 TraceCheckUtils]: 20: Hoare triple {62574#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {62574#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-28 10:41:46,840 INFO L290 TraceCheckUtils]: 19: Hoare triple {62581#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 31))} ~i~0 := 2 + ~i~0; {62574#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-28 10:41:46,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {62581#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 31))} assume !!(~i~0 < ~w); {62581#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,841 INFO L290 TraceCheckUtils]: 17: Hoare triple {62588#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 26) correct_version_~w))} ~i~0 := 2 + ~i~0; {62581#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,841 INFO L290 TraceCheckUtils]: 16: Hoare triple {62588#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 26) correct_version_~w))} assume !!(~i~0 < ~w); {62588#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 26) correct_version_~w))} is VALID [2022-04-28 10:41:46,842 INFO L290 TraceCheckUtils]: 15: Hoare triple {62595#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 28) correct_version_~w))} ~i~0 := 2 + ~i~0; {62588#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 26) correct_version_~w))} is VALID [2022-04-28 10:41:46,842 INFO L290 TraceCheckUtils]: 14: Hoare triple {62595#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 28) correct_version_~w))} assume !!(~i~0 < ~w); {62595#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 28) correct_version_~w))} is VALID [2022-04-28 10:41:46,843 INFO L290 TraceCheckUtils]: 13: Hoare triple {62602#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 31))} ~i~0 := 2 + ~i~0; {62595#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 28) correct_version_~w))} is VALID [2022-04-28 10:41:46,843 INFO L290 TraceCheckUtils]: 12: Hoare triple {62602#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 31))} assume !!(~i~0 < ~w); {62602#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,843 INFO L290 TraceCheckUtils]: 11: Hoare triple {62609#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 32) correct_version_~w))} ~i~0 := 2 + ~i~0; {62602#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 31))} is VALID [2022-04-28 10:41:46,844 INFO L290 TraceCheckUtils]: 10: Hoare triple {62609#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 32) correct_version_~w))} assume !!(~i~0 < ~w); {62609#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 32) correct_version_~w))} is VALID [2022-04-28 10:41:46,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {62616#(or (<= |correct_version_#in~w| 31) (<= 32 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {62609#(or (<= |correct_version_#in~w| 31) (<= (+ correct_version_~i~0 32) correct_version_~w))} is VALID [2022-04-28 10:41:46,845 INFO L290 TraceCheckUtils]: 8: Hoare triple {61888#true} ~w := #in~w;~is_divisible~0 := ~true~0; {62616#(or (<= |correct_version_#in~w| 31) (<= 32 correct_version_~w))} is VALID [2022-04-28 10:41:46,845 INFO L272 TraceCheckUtils]: 7: Hoare triple {61888#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {61888#true} is VALID [2022-04-28 10:41:46,845 INFO L290 TraceCheckUtils]: 6: Hoare triple {61888#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {61888#true} is VALID [2022-04-28 10:41:46,845 INFO L290 TraceCheckUtils]: 5: Hoare triple {61888#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {61888#true} is VALID [2022-04-28 10:41:46,845 INFO L272 TraceCheckUtils]: 4: Hoare triple {61888#true} call #t~ret7 := main(); {61888#true} is VALID [2022-04-28 10:41:46,845 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {61888#true} {61888#true} #93#return; {61888#true} is VALID [2022-04-28 10:41:46,845 INFO L290 TraceCheckUtils]: 2: Hoare triple {61888#true} assume true; {61888#true} is VALID [2022-04-28 10:41:46,845 INFO L290 TraceCheckUtils]: 1: Hoare triple {61888#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {61888#true} is VALID [2022-04-28 10:41:46,845 INFO L272 TraceCheckUtils]: 0: Hoare triple {61888#true} call ULTIMATE.init(); {61888#true} is VALID [2022-04-28 10:41:46,845 INFO L134 CoverageAnalysis]: Checked inductivity of 512 backedges. 256 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:41:46,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1956139500] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:41:46,845 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:41:46,846 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [43, 42, 42] total 117 [2022-04-28 10:41:46,846 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:46,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2028765732] [2022-04-28 10:41:46,846 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2028765732] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:46,846 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:46,846 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [43] imperfect sequences [] total 43 [2022-04-28 10:41:46,846 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1061113636] [2022-04-28 10:41:46,846 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:46,846 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 93 [2022-04-28 10:41:46,846 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:46,847 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:46,911 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-28 10:41:46,911 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-28 10:41:46,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:46,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-28 10:41:46,913 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2189, Invalid=11383, Unknown=0, NotChecked=0, Total=13572 [2022-04-28 10:41:46,913 INFO L87 Difference]: Start difference. First operand 102 states and 105 transitions. Second operand has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:50,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:50,499 INFO L93 Difference]: Finished difference Result 122 states and 129 transitions. [2022-04-28 10:41:50,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2022-04-28 10:41:50,499 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 93 [2022-04-28 10:41:50,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:50,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:50,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 124 transitions. [2022-04-28 10:41:50,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:50,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 124 transitions. [2022-04-28 10:41:50,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 124 transitions. [2022-04-28 10:41:50,597 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:50,598 INFO L225 Difference]: With dead ends: 122 [2022-04-28 10:41:50,598 INFO L226 Difference]: Without dead ends: 111 [2022-04-28 10:41:50,599 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 271 GetRequests, 111 SyntacticMatches, 5 SemanticMatches, 155 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11272 ImplicationChecksByTransitivity, 3.3s TimeCoverageRelationStatistics Valid=3752, Invalid=20740, Unknown=0, NotChecked=0, Total=24492 [2022-04-28 10:41:50,599 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 105 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 693 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 743 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 693 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:50,600 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [109 Valid, 72 Invalid, 743 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 693 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:41:50,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-28 10:41:51,794 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 105. [2022-04-28 10:41:51,794 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:51,795 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 105 states, 93 states have (on average 1.053763440860215) internal successors, (98), 95 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-28 10:41:51,795 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 105 states, 93 states have (on average 1.053763440860215) internal successors, (98), 95 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-28 10:41:51,795 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 105 states, 93 states have (on average 1.053763440860215) internal successors, (98), 95 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-28 10:41:51,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:51,796 INFO L93 Difference]: Finished difference Result 111 states and 117 transitions. [2022-04-28 10:41:51,796 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 117 transitions. [2022-04-28 10:41:51,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:51,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:51,796 INFO L74 IsIncluded]: Start isIncluded. First operand has 105 states, 93 states have (on average 1.053763440860215) internal successors, (98), 95 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 111 states. [2022-04-28 10:41:51,796 INFO L87 Difference]: Start difference. First operand has 105 states, 93 states have (on average 1.053763440860215) internal successors, (98), 95 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 111 states. [2022-04-28 10:41:51,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:51,797 INFO L93 Difference]: Finished difference Result 111 states and 117 transitions. [2022-04-28 10:41:51,797 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 117 transitions. [2022-04-28 10:41:51,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:51,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:51,797 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:51,797 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:51,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 93 states have (on average 1.053763440860215) internal successors, (98), 95 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-28 10:41:51,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 109 transitions. [2022-04-28 10:41:51,799 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 109 transitions. Word has length 93 [2022-04-28 10:41:51,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:51,799 INFO L495 AbstractCegarLoop]: Abstraction has 105 states and 109 transitions. [2022-04-28 10:41:51,799 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:41:51,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 105 states and 109 transitions. [2022-04-28 10:41:52,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:52,051 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 109 transitions. [2022-04-28 10:41:52,051 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 94 [2022-04-28 10:41:52,051 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:52,051 INFO L195 NwaCegarLoop]: trace histogram [16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:52,070 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Forceful destruction successful, exit code 0 [2022-04-28 10:41:52,252 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable64,62 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:52,252 INFO L420 AbstractCegarLoop]: === Iteration 66 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:52,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:52,252 INFO L85 PathProgramCache]: Analyzing trace with hash -1035270605, now seen corresponding path program 59 times [2022-04-28 10:41:52,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:52,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [380878530] [2022-04-28 10:41:52,254 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:41:52,254 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:41:52,254 INFO L85 PathProgramCache]: Analyzing trace with hash -1035270605, now seen corresponding path program 60 times [2022-04-28 10:41:52,255 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:52,255 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [402644600] [2022-04-28 10:41:52,255 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:52,255 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:52,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:52,305 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:52,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:52,308 INFO L290 TraceCheckUtils]: 0: Hoare triple {63483#(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; {63399#true} is VALID [2022-04-28 10:41:52,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {63399#true} assume true; {63399#true} is VALID [2022-04-28 10:41:52,308 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63399#true} {63399#true} #93#return; {63399#true} is VALID [2022-04-28 10:41:52,309 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:41:52,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:52,584 INFO L290 TraceCheckUtils]: 0: Hoare triple {63399#true} ~w := #in~w;~is_divisible~0 := ~true~0; {63484#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:41:52,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {63484#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {63485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,585 INFO L290 TraceCheckUtils]: 2: Hoare triple {63485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {63485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,585 INFO L290 TraceCheckUtils]: 3: Hoare triple {63485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,585 INFO L290 TraceCheckUtils]: 4: Hoare triple {63486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {63486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {63486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,586 INFO L290 TraceCheckUtils]: 6: Hoare triple {63487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {63487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {63488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {63488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,587 INFO L290 TraceCheckUtils]: 10: Hoare triple {63489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,588 INFO L290 TraceCheckUtils]: 11: Hoare triple {63489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63490#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,588 INFO L290 TraceCheckUtils]: 12: Hoare triple {63490#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63490#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,589 INFO L290 TraceCheckUtils]: 13: Hoare triple {63490#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63491#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,589 INFO L290 TraceCheckUtils]: 14: Hoare triple {63491#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {63491#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,589 INFO L290 TraceCheckUtils]: 15: Hoare triple {63491#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63492#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,590 INFO L290 TraceCheckUtils]: 16: Hoare triple {63492#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63492#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,590 INFO L290 TraceCheckUtils]: 17: Hoare triple {63492#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63493#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,590 INFO L290 TraceCheckUtils]: 18: Hoare triple {63493#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {63493#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,591 INFO L290 TraceCheckUtils]: 19: Hoare triple {63493#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63494#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,591 INFO L290 TraceCheckUtils]: 20: Hoare triple {63494#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63494#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,591 INFO L290 TraceCheckUtils]: 21: Hoare triple {63494#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63495#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,592 INFO L290 TraceCheckUtils]: 22: Hoare triple {63495#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63495#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,592 INFO L290 TraceCheckUtils]: 23: Hoare triple {63495#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63496#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,592 INFO L290 TraceCheckUtils]: 24: Hoare triple {63496#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63496#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,593 INFO L290 TraceCheckUtils]: 25: Hoare triple {63496#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63497#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,593 INFO L290 TraceCheckUtils]: 26: Hoare triple {63497#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63497#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,594 INFO L290 TraceCheckUtils]: 27: Hoare triple {63497#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63498#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,594 INFO L290 TraceCheckUtils]: 28: Hoare triple {63498#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {63498#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,594 INFO L290 TraceCheckUtils]: 29: Hoare triple {63498#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63499#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,595 INFO L290 TraceCheckUtils]: 30: Hoare triple {63499#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {63499#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:41:52,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {63499#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63500#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,595 INFO L290 TraceCheckUtils]: 32: Hoare triple {63500#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63500#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,596 INFO L290 TraceCheckUtils]: 33: Hoare triple {63500#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63501#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {63501#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {63501#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:52,596 INFO L290 TraceCheckUtils]: 35: Hoare triple {63501#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:52,597 INFO L290 TraceCheckUtils]: 36: Hoare triple {63502#(<= 32 |correct_version_#in~w|)} #res := ~is_divisible~0; {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:52,597 INFO L290 TraceCheckUtils]: 37: Hoare triple {63502#(<= 32 |correct_version_#in~w|)} assume true; {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:52,598 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {63502#(<= 32 |correct_version_#in~w|)} {63399#true} #87#return; {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} is VALID [2022-04-28 10:41:52,598 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-04-28 10:41:52,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:53,067 INFO L290 TraceCheckUtils]: 0: Hoare triple {63399#true} ~w := #in~w;~is_divisible~1 := ~true~0; {63503#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:41:53,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {63503#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {63504#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:41:53,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {63504#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {63504#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:41:53,069 INFO L290 TraceCheckUtils]: 3: Hoare triple {63504#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {63505#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,069 INFO L290 TraceCheckUtils]: 4: Hoare triple {63505#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63505#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {63505#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63506#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,070 INFO L290 TraceCheckUtils]: 6: Hoare triple {63506#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63506#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {63506#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63507#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:41:53,071 INFO L290 TraceCheckUtils]: 8: Hoare triple {63507#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {63507#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:41:53,071 INFO L290 TraceCheckUtils]: 9: Hoare triple {63507#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {63508#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,071 INFO L290 TraceCheckUtils]: 10: Hoare triple {63508#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63508#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {63508#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63509#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:41:53,072 INFO L290 TraceCheckUtils]: 12: Hoare triple {63509#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {63509#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:41:53,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {63509#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {63510#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {63510#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63510#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {63510#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63511#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:41:53,074 INFO L290 TraceCheckUtils]: 16: Hoare triple {63511#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {63511#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:41:53,074 INFO L290 TraceCheckUtils]: 17: Hoare triple {63511#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {63512#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:41:53,074 INFO L290 TraceCheckUtils]: 18: Hoare triple {63512#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {63512#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:41:53,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {63512#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {63513#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:41:53,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {63513#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {63513#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:41:53,075 INFO L290 TraceCheckUtils]: 21: Hoare triple {63513#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {63514#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,076 INFO L290 TraceCheckUtils]: 22: Hoare triple {63514#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63514#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {63514#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63515#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:41:53,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {63515#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {63515#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:41:53,077 INFO L290 TraceCheckUtils]: 25: Hoare triple {63515#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {63516#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:41:53,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {63516#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {63516#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:41:53,078 INFO L290 TraceCheckUtils]: 27: Hoare triple {63516#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {63517#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,078 INFO L290 TraceCheckUtils]: 28: Hoare triple {63517#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63517#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,078 INFO L290 TraceCheckUtils]: 29: Hoare triple {63517#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63518#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {63518#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63518#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,079 INFO L290 TraceCheckUtils]: 31: Hoare triple {63518#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63519#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:41:53,079 INFO L290 TraceCheckUtils]: 32: Hoare triple {63519#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {63519#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:41:53,080 INFO L290 TraceCheckUtils]: 33: Hoare triple {63519#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {63520#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 32) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-28 10:41:53,080 INFO L290 TraceCheckUtils]: 34: Hoare triple {63520#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 32) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {63521#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 32) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-28 10:41:53,081 INFO L290 TraceCheckUtils]: 35: Hoare triple {63521#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 32) (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; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:53,081 INFO L290 TraceCheckUtils]: 36: Hoare triple {63522#(<= |student_version_#in~w| 31)} #res := ~is_divisible~1; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:53,081 INFO L290 TraceCheckUtils]: 37: Hoare triple {63522#(<= |student_version_#in~w| 31)} assume true; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:53,082 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {63522#(<= |student_version_#in~w| 31)} {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} #89#return; {63400#false} is VALID [2022-04-28 10:41:53,082 INFO L272 TraceCheckUtils]: 0: Hoare triple {63399#true} call ULTIMATE.init(); {63483#(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-28 10:41:53,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {63483#(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; {63399#true} is VALID [2022-04-28 10:41:53,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {63399#true} assume true; {63399#true} is VALID [2022-04-28 10:41:53,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63399#true} {63399#true} #93#return; {63399#true} is VALID [2022-04-28 10:41:53,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {63399#true} call #t~ret7 := main(); {63399#true} is VALID [2022-04-28 10:41:53,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {63399#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {63399#true} is VALID [2022-04-28 10:41:53,083 INFO L290 TraceCheckUtils]: 6: Hoare triple {63399#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {63399#true} is VALID [2022-04-28 10:41:53,083 INFO L272 TraceCheckUtils]: 7: Hoare triple {63399#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {63399#true} is VALID [2022-04-28 10:41:53,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {63399#true} ~w := #in~w;~is_divisible~0 := ~true~0; {63484#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:41:53,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {63484#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {63485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,084 INFO L290 TraceCheckUtils]: 10: Hoare triple {63485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {63485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,084 INFO L290 TraceCheckUtils]: 11: Hoare triple {63485#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,085 INFO L290 TraceCheckUtils]: 12: Hoare triple {63486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {63486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {63486#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,085 INFO L290 TraceCheckUtils]: 14: Hoare triple {63487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,086 INFO L290 TraceCheckUtils]: 15: Hoare triple {63487#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,086 INFO L290 TraceCheckUtils]: 16: Hoare triple {63488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,086 INFO L290 TraceCheckUtils]: 17: Hoare triple {63488#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,087 INFO L290 TraceCheckUtils]: 18: Hoare triple {63489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {63489#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63490#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {63490#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63490#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,088 INFO L290 TraceCheckUtils]: 21: Hoare triple {63490#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63491#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {63491#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {63491#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,089 INFO L290 TraceCheckUtils]: 23: Hoare triple {63491#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63492#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {63492#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63492#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {63492#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63493#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,090 INFO L290 TraceCheckUtils]: 26: Hoare triple {63493#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {63493#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,090 INFO L290 TraceCheckUtils]: 27: Hoare triple {63493#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63494#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,090 INFO L290 TraceCheckUtils]: 28: Hoare triple {63494#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63494#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,091 INFO L290 TraceCheckUtils]: 29: Hoare triple {63494#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63495#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,091 INFO L290 TraceCheckUtils]: 30: Hoare triple {63495#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63495#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,091 INFO L290 TraceCheckUtils]: 31: Hoare triple {63495#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63496#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,092 INFO L290 TraceCheckUtils]: 32: Hoare triple {63496#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63496#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,092 INFO L290 TraceCheckUtils]: 33: Hoare triple {63496#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63497#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,093 INFO L290 TraceCheckUtils]: 34: Hoare triple {63497#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63497#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,093 INFO L290 TraceCheckUtils]: 35: Hoare triple {63497#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63498#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,093 INFO L290 TraceCheckUtils]: 36: Hoare triple {63498#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {63498#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,094 INFO L290 TraceCheckUtils]: 37: Hoare triple {63498#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63499#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,094 INFO L290 TraceCheckUtils]: 38: Hoare triple {63499#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {63499#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:41:53,094 INFO L290 TraceCheckUtils]: 39: Hoare triple {63499#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63500#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,095 INFO L290 TraceCheckUtils]: 40: Hoare triple {63500#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {63500#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,095 INFO L290 TraceCheckUtils]: 41: Hoare triple {63500#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {63501#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,095 INFO L290 TraceCheckUtils]: 42: Hoare triple {63501#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {63501#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:41:53,096 INFO L290 TraceCheckUtils]: 43: Hoare triple {63501#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:53,096 INFO L290 TraceCheckUtils]: 44: Hoare triple {63502#(<= 32 |correct_version_#in~w|)} #res := ~is_divisible~0; {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:53,096 INFO L290 TraceCheckUtils]: 45: Hoare triple {63502#(<= 32 |correct_version_#in~w|)} assume true; {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:53,097 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {63502#(<= 32 |correct_version_#in~w|)} {63399#true} #87#return; {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} is VALID [2022-04-28 10:41:53,098 INFO L290 TraceCheckUtils]: 47: Hoare triple {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} is VALID [2022-04-28 10:41:53,098 INFO L272 TraceCheckUtils]: 48: Hoare triple {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) 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)); {63399#true} is VALID [2022-04-28 10:41:53,098 INFO L290 TraceCheckUtils]: 49: Hoare triple {63399#true} ~w := #in~w;~is_divisible~1 := ~true~0; {63503#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:41:53,098 INFO L290 TraceCheckUtils]: 50: Hoare triple {63503#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {63504#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:41:53,099 INFO L290 TraceCheckUtils]: 51: Hoare triple {63504#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {63504#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:41:53,099 INFO L290 TraceCheckUtils]: 52: Hoare triple {63504#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {63505#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,099 INFO L290 TraceCheckUtils]: 53: Hoare triple {63505#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63505#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,100 INFO L290 TraceCheckUtils]: 54: Hoare triple {63505#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63506#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,100 INFO L290 TraceCheckUtils]: 55: Hoare triple {63506#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63506#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,100 INFO L290 TraceCheckUtils]: 56: Hoare triple {63506#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63507#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:41:53,101 INFO L290 TraceCheckUtils]: 57: Hoare triple {63507#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {63507#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:41:53,101 INFO L290 TraceCheckUtils]: 58: Hoare triple {63507#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {63508#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,101 INFO L290 TraceCheckUtils]: 59: Hoare triple {63508#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63508#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,102 INFO L290 TraceCheckUtils]: 60: Hoare triple {63508#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63509#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:41:53,102 INFO L290 TraceCheckUtils]: 61: Hoare triple {63509#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {63509#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:41:53,102 INFO L290 TraceCheckUtils]: 62: Hoare triple {63509#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {63510#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,103 INFO L290 TraceCheckUtils]: 63: Hoare triple {63510#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63510#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,103 INFO L290 TraceCheckUtils]: 64: Hoare triple {63510#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63511#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:41:53,104 INFO L290 TraceCheckUtils]: 65: Hoare triple {63511#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {63511#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:41:53,104 INFO L290 TraceCheckUtils]: 66: Hoare triple {63511#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {63512#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:41:53,104 INFO L290 TraceCheckUtils]: 67: Hoare triple {63512#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {63512#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:41:53,105 INFO L290 TraceCheckUtils]: 68: Hoare triple {63512#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {63513#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:41:53,105 INFO L290 TraceCheckUtils]: 69: Hoare triple {63513#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {63513#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:41:53,105 INFO L290 TraceCheckUtils]: 70: Hoare triple {63513#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {63514#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,106 INFO L290 TraceCheckUtils]: 71: Hoare triple {63514#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63514#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,106 INFO L290 TraceCheckUtils]: 72: Hoare triple {63514#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63515#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:41:53,106 INFO L290 TraceCheckUtils]: 73: Hoare triple {63515#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {63515#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:41:53,107 INFO L290 TraceCheckUtils]: 74: Hoare triple {63515#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {63516#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:41:53,107 INFO L290 TraceCheckUtils]: 75: Hoare triple {63516#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {63516#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:41:53,108 INFO L290 TraceCheckUtils]: 76: Hoare triple {63516#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {63517#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,108 INFO L290 TraceCheckUtils]: 77: Hoare triple {63517#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63517#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,108 INFO L290 TraceCheckUtils]: 78: Hoare triple {63517#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63518#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,109 INFO L290 TraceCheckUtils]: 79: Hoare triple {63518#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {63518#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:41:53,109 INFO L290 TraceCheckUtils]: 80: Hoare triple {63518#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {63519#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:41:53,109 INFO L290 TraceCheckUtils]: 81: Hoare triple {63519#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {63519#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:41:53,110 INFO L290 TraceCheckUtils]: 82: Hoare triple {63519#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {63520#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 32) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-28 10:41:53,110 INFO L290 TraceCheckUtils]: 83: Hoare triple {63520#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 32) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {63521#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 32) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-28 10:41:53,111 INFO L290 TraceCheckUtils]: 84: Hoare triple {63521#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 32) (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; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:53,111 INFO L290 TraceCheckUtils]: 85: Hoare triple {63522#(<= |student_version_#in~w| 31)} #res := ~is_divisible~1; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:53,111 INFO L290 TraceCheckUtils]: 86: Hoare triple {63522#(<= |student_version_#in~w| 31)} assume true; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:53,112 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {63522#(<= |student_version_#in~w| 31)} {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} #89#return; {63400#false} is VALID [2022-04-28 10:41:53,112 INFO L290 TraceCheckUtils]: 88: Hoare triple {63400#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {63400#false} is VALID [2022-04-28 10:41:53,112 INFO L272 TraceCheckUtils]: 89: Hoare triple {63400#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {63400#false} is VALID [2022-04-28 10:41:53,112 INFO L290 TraceCheckUtils]: 90: Hoare triple {63400#false} ~cond := #in~cond; {63400#false} is VALID [2022-04-28 10:41:53,112 INFO L290 TraceCheckUtils]: 91: Hoare triple {63400#false} assume 0 == ~cond; {63400#false} is VALID [2022-04-28 10:41:53,112 INFO L290 TraceCheckUtils]: 92: Hoare triple {63400#false} assume !false; {63400#false} is VALID [2022-04-28 10:41:53,112 INFO L134 CoverageAnalysis]: Checked inductivity of 512 backedges. 256 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:41:53,113 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:53,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [402644600] [2022-04-28 10:41:53,113 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [402644600] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:41:53,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1252818356] [2022-04-28 10:41:53,120 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:41:53,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:53,120 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:41:53,121 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:41:53,122 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Waiting until timeout for monitored process [2022-04-28 10:41:53,290 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 17 check-sat command(s) [2022-04-28 10:41:53,290 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:41:53,291 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 10:41:53,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:53,313 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:41:55,359 INFO L272 TraceCheckUtils]: 0: Hoare triple {63399#true} call ULTIMATE.init(); {63399#true} is VALID [2022-04-28 10:41:55,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {63399#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {63399#true} is VALID [2022-04-28 10:41:55,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {63399#true} assume true; {63399#true} is VALID [2022-04-28 10:41:55,360 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63399#true} {63399#true} #93#return; {63399#true} is VALID [2022-04-28 10:41:55,360 INFO L272 TraceCheckUtils]: 4: Hoare triple {63399#true} call #t~ret7 := main(); {63399#true} is VALID [2022-04-28 10:41:55,360 INFO L290 TraceCheckUtils]: 5: Hoare triple {63399#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {63399#true} is VALID [2022-04-28 10:41:55,360 INFO L290 TraceCheckUtils]: 6: Hoare triple {63399#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {63399#true} is VALID [2022-04-28 10:41:55,360 INFO L272 TraceCheckUtils]: 7: Hoare triple {63399#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {63399#true} is VALID [2022-04-28 10:41:55,360 INFO L290 TraceCheckUtils]: 8: Hoare triple {63399#true} ~w := #in~w;~is_divisible~0 := ~true~0; {63550#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-28 10:41:55,361 INFO L290 TraceCheckUtils]: 9: Hoare triple {63550#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {63554#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,361 INFO L290 TraceCheckUtils]: 10: Hoare triple {63554#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {63554#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,361 INFO L290 TraceCheckUtils]: 11: Hoare triple {63554#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63561#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,362 INFO L290 TraceCheckUtils]: 12: Hoare triple {63561#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {63561#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,362 INFO L290 TraceCheckUtils]: 13: Hoare triple {63561#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63568#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,362 INFO L290 TraceCheckUtils]: 14: Hoare triple {63568#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {63568#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,363 INFO L290 TraceCheckUtils]: 15: Hoare triple {63568#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63575#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:41:55,363 INFO L290 TraceCheckUtils]: 16: Hoare triple {63575#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {63575#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:41:55,364 INFO L290 TraceCheckUtils]: 17: Hoare triple {63575#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {63582#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,364 INFO L290 TraceCheckUtils]: 18: Hoare triple {63582#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {63582#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,364 INFO L290 TraceCheckUtils]: 19: Hoare triple {63582#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63589#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:41:55,365 INFO L290 TraceCheckUtils]: 20: Hoare triple {63589#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {63589#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:41:55,365 INFO L290 TraceCheckUtils]: 21: Hoare triple {63589#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {63596#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,365 INFO L290 TraceCheckUtils]: 22: Hoare triple {63596#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {63596#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,366 INFO L290 TraceCheckUtils]: 23: Hoare triple {63596#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63603#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,366 INFO L290 TraceCheckUtils]: 24: Hoare triple {63603#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {63603#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,367 INFO L290 TraceCheckUtils]: 25: Hoare triple {63603#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,367 INFO L290 TraceCheckUtils]: 26: Hoare triple {63610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {63610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,367 INFO L290 TraceCheckUtils]: 27: Hoare triple {63610#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63617#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,368 INFO L290 TraceCheckUtils]: 28: Hoare triple {63617#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {63617#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {63617#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {63624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {63624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,369 INFO L290 TraceCheckUtils]: 31: Hoare triple {63624#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63631#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,369 INFO L290 TraceCheckUtils]: 32: Hoare triple {63631#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {63631#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,370 INFO L290 TraceCheckUtils]: 33: Hoare triple {63631#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,370 INFO L290 TraceCheckUtils]: 34: Hoare triple {63638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {63638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,370 INFO L290 TraceCheckUtils]: 35: Hoare triple {63638#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63645#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,371 INFO L290 TraceCheckUtils]: 36: Hoare triple {63645#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {63645#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,371 INFO L290 TraceCheckUtils]: 37: Hoare triple {63645#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,371 INFO L290 TraceCheckUtils]: 38: Hoare triple {63652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {63652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {63652#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,372 INFO L290 TraceCheckUtils]: 40: Hoare triple {63659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} assume !!(~i~0 < ~w); {63659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,372 INFO L290 TraceCheckUtils]: 41: Hoare triple {63659#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {63666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,373 INFO L290 TraceCheckUtils]: 42: Hoare triple {63666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} assume !(~i~0 < ~w); {63666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} is VALID [2022-04-28 10:41:55,373 INFO L290 TraceCheckUtils]: 43: Hoare triple {63666#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} assume !(~i~0 != ~w); {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:55,373 INFO L290 TraceCheckUtils]: 44: Hoare triple {63502#(<= 32 |correct_version_#in~w|)} #res := ~is_divisible~0; {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:55,374 INFO L290 TraceCheckUtils]: 45: Hoare triple {63502#(<= 32 |correct_version_#in~w|)} assume true; {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:41:55,374 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {63502#(<= 32 |correct_version_#in~w|)} {63399#true} #87#return; {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} is VALID [2022-04-28 10:41:55,375 INFO L290 TraceCheckUtils]: 47: Hoare triple {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} is VALID [2022-04-28 10:41:55,375 INFO L272 TraceCheckUtils]: 48: Hoare triple {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) 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)); {63399#true} is VALID [2022-04-28 10:41:55,375 INFO L290 TraceCheckUtils]: 49: Hoare triple {63399#true} ~w := #in~w;~is_divisible~1 := ~true~0; {63691#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:41:55,376 INFO L290 TraceCheckUtils]: 50: Hoare triple {63691#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {63695#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:41:55,376 INFO L290 TraceCheckUtils]: 51: Hoare triple {63695#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {63695#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:41:55,376 INFO L290 TraceCheckUtils]: 52: Hoare triple {63695#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {63702#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:41:55,377 INFO L290 TraceCheckUtils]: 53: Hoare triple {63702#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {63702#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:41:55,377 INFO L290 TraceCheckUtils]: 54: Hoare triple {63702#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {63709#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:41:55,377 INFO L290 TraceCheckUtils]: 55: Hoare triple {63709#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {63709#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:41:55,378 INFO L290 TraceCheckUtils]: 56: Hoare triple {63709#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {63716#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:41:55,378 INFO L290 TraceCheckUtils]: 57: Hoare triple {63716#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {63716#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:41:55,379 INFO L290 TraceCheckUtils]: 58: Hoare triple {63716#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {63723#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-28 10:41:55,379 INFO L290 TraceCheckUtils]: 59: Hoare triple {63723#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {63723#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-28 10:41:55,379 INFO L290 TraceCheckUtils]: 60: Hoare triple {63723#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {63730#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:41:55,380 INFO L290 TraceCheckUtils]: 61: Hoare triple {63730#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {63730#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:41:55,380 INFO L290 TraceCheckUtils]: 62: Hoare triple {63730#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {63737#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-28 10:41:55,380 INFO L290 TraceCheckUtils]: 63: Hoare triple {63737#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {63737#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-28 10:41:55,381 INFO L290 TraceCheckUtils]: 64: Hoare triple {63737#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {63744#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:41:55,381 INFO L290 TraceCheckUtils]: 65: Hoare triple {63744#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {63744#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:41:55,382 INFO L290 TraceCheckUtils]: 66: Hoare triple {63744#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {63751#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:41:55,382 INFO L290 TraceCheckUtils]: 67: Hoare triple {63751#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {63751#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:41:55,382 INFO L290 TraceCheckUtils]: 68: Hoare triple {63751#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {63758#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:41:55,383 INFO L290 TraceCheckUtils]: 69: Hoare triple {63758#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {63758#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:41:55,383 INFO L290 TraceCheckUtils]: 70: Hoare triple {63758#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {63765#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-28 10:41:55,383 INFO L290 TraceCheckUtils]: 71: Hoare triple {63765#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {63765#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-28 10:41:55,384 INFO L290 TraceCheckUtils]: 72: Hoare triple {63765#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {63772#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:41:55,384 INFO L290 TraceCheckUtils]: 73: Hoare triple {63772#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {63772#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:41:55,384 INFO L290 TraceCheckUtils]: 74: Hoare triple {63772#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {63779#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:41:55,385 INFO L290 TraceCheckUtils]: 75: Hoare triple {63779#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {63779#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:41:55,385 INFO L290 TraceCheckUtils]: 76: Hoare triple {63779#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {63786#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-28 10:41:55,386 INFO L290 TraceCheckUtils]: 77: Hoare triple {63786#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !!(~i~1 < ~w); {63786#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-28 10:41:55,386 INFO L290 TraceCheckUtils]: 78: Hoare triple {63786#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} ~i~1 := 2 + ~i~1; {63793#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-28 10:41:55,386 INFO L290 TraceCheckUtils]: 79: Hoare triple {63793#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} assume !!(~i~1 < ~w); {63793#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-28 10:41:55,387 INFO L290 TraceCheckUtils]: 80: Hoare triple {63793#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} ~i~1 := 2 + ~i~1; {63800#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:41:55,387 INFO L290 TraceCheckUtils]: 81: Hoare triple {63800#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {63800#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:41:55,387 INFO L290 TraceCheckUtils]: 82: Hoare triple {63800#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {63807#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} is VALID [2022-04-28 10:41:55,388 INFO L290 TraceCheckUtils]: 83: Hoare triple {63807#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} assume !(~i~1 < ~w); {63811#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 32))} is VALID [2022-04-28 10:41:55,388 INFO L290 TraceCheckUtils]: 84: Hoare triple {63811#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 32))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:55,388 INFO L290 TraceCheckUtils]: 85: Hoare triple {63522#(<= |student_version_#in~w| 31)} #res := ~is_divisible~1; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:55,389 INFO L290 TraceCheckUtils]: 86: Hoare triple {63522#(<= |student_version_#in~w| 31)} assume true; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:41:55,389 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {63522#(<= |student_version_#in~w| 31)} {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} #89#return; {63400#false} is VALID [2022-04-28 10:41:55,389 INFO L290 TraceCheckUtils]: 88: Hoare triple {63400#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {63400#false} is VALID [2022-04-28 10:41:55,390 INFO L272 TraceCheckUtils]: 89: Hoare triple {63400#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {63400#false} is VALID [2022-04-28 10:41:55,390 INFO L290 TraceCheckUtils]: 90: Hoare triple {63400#false} ~cond := #in~cond; {63400#false} is VALID [2022-04-28 10:41:55,390 INFO L290 TraceCheckUtils]: 91: Hoare triple {63400#false} assume 0 == ~cond; {63400#false} is VALID [2022-04-28 10:41:55,390 INFO L290 TraceCheckUtils]: 92: Hoare triple {63400#false} assume !false; {63400#false} is VALID [2022-04-28 10:41:55,390 INFO L134 CoverageAnalysis]: Checked inductivity of 512 backedges. 256 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:41:55,390 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:42:03,966 INFO L290 TraceCheckUtils]: 92: Hoare triple {63400#false} assume !false; {63400#false} is VALID [2022-04-28 10:42:03,967 INFO L290 TraceCheckUtils]: 91: Hoare triple {63400#false} assume 0 == ~cond; {63400#false} is VALID [2022-04-28 10:42:03,967 INFO L290 TraceCheckUtils]: 90: Hoare triple {63400#false} ~cond := #in~cond; {63400#false} is VALID [2022-04-28 10:42:03,967 INFO L272 TraceCheckUtils]: 89: Hoare triple {63400#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {63400#false} is VALID [2022-04-28 10:42:03,967 INFO L290 TraceCheckUtils]: 88: Hoare triple {63400#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {63400#false} is VALID [2022-04-28 10:42:03,968 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {63522#(<= |student_version_#in~w| 31)} {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} #89#return; {63400#false} is VALID [2022-04-28 10:42:03,968 INFO L290 TraceCheckUtils]: 86: Hoare triple {63522#(<= |student_version_#in~w| 31)} assume true; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:42:03,968 INFO L290 TraceCheckUtils]: 85: Hoare triple {63522#(<= |student_version_#in~w| 31)} #res := ~is_divisible~1; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:42:03,969 INFO L290 TraceCheckUtils]: 84: Hoare triple {63866#(or (<= |student_version_#in~w| 31) (= student_version_~i~1 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {63522#(<= |student_version_#in~w| 31)} is VALID [2022-04-28 10:42:03,969 INFO L290 TraceCheckUtils]: 83: Hoare triple {63870#(or (<= |student_version_#in~w| 31) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {63866#(or (<= |student_version_#in~w| 31) (= student_version_~i~1 student_version_~w))} is VALID [2022-04-28 10:42:03,969 INFO L290 TraceCheckUtils]: 82: Hoare triple {63874#(or (<= |student_version_#in~w| 31) (<= (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {63870#(or (<= |student_version_#in~w| 31) (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-28 10:42:03,970 INFO L290 TraceCheckUtils]: 81: Hoare triple {63874#(or (<= |student_version_#in~w| 31) (<= (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {63874#(or (<= |student_version_#in~w| 31) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,970 INFO L290 TraceCheckUtils]: 80: Hoare triple {63881#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {63874#(or (<= |student_version_#in~w| 31) (<= (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,970 INFO L290 TraceCheckUtils]: 79: Hoare triple {63881#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {63881#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-28 10:42:03,971 INFO L290 TraceCheckUtils]: 78: Hoare triple {63888#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 31))} ~i~1 := 2 + ~i~1; {63881#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-28 10:42:03,971 INFO L290 TraceCheckUtils]: 77: Hoare triple {63888#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 31))} assume !!(~i~1 < ~w); {63888#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 31))} is VALID [2022-04-28 10:42:03,972 INFO L290 TraceCheckUtils]: 76: Hoare triple {63895#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {63888#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 31))} is VALID [2022-04-28 10:42:03,972 INFO L290 TraceCheckUtils]: 75: Hoare triple {63895#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {63895#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-28 10:42:03,972 INFO L290 TraceCheckUtils]: 74: Hoare triple {63902#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {63895#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-28 10:42:03,973 INFO L290 TraceCheckUtils]: 73: Hoare triple {63902#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {63902#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-28 10:42:03,973 INFO L290 TraceCheckUtils]: 72: Hoare triple {63909#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {63902#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-28 10:42:03,973 INFO L290 TraceCheckUtils]: 71: Hoare triple {63909#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {63909#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-28 10:42:03,974 INFO L290 TraceCheckUtils]: 70: Hoare triple {63916#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 31))} ~i~1 := 2 + ~i~1; {63909#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-28 10:42:03,974 INFO L290 TraceCheckUtils]: 69: Hoare triple {63916#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 31))} assume !!(~i~1 < ~w); {63916#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 31))} is VALID [2022-04-28 10:42:03,974 INFO L290 TraceCheckUtils]: 68: Hoare triple {63923#(or (<= |student_version_#in~w| 31) (<= (+ 16 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {63916#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 31))} is VALID [2022-04-28 10:42:03,975 INFO L290 TraceCheckUtils]: 67: Hoare triple {63923#(or (<= |student_version_#in~w| 31) (<= (+ 16 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {63923#(or (<= |student_version_#in~w| 31) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,975 INFO L290 TraceCheckUtils]: 66: Hoare triple {63930#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 18) student_version_~w))} ~i~1 := 2 + ~i~1; {63923#(or (<= |student_version_#in~w| 31) (<= (+ 16 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,975 INFO L290 TraceCheckUtils]: 65: Hoare triple {63930#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 18) student_version_~w))} assume !!(~i~1 < ~w); {63930#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 18) student_version_~w))} is VALID [2022-04-28 10:42:03,976 INFO L290 TraceCheckUtils]: 64: Hoare triple {63937#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 20) student_version_~w))} ~i~1 := 2 + ~i~1; {63930#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 18) student_version_~w))} is VALID [2022-04-28 10:42:03,976 INFO L290 TraceCheckUtils]: 63: Hoare triple {63937#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 20) student_version_~w))} assume !!(~i~1 < ~w); {63937#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-28 10:42:03,977 INFO L290 TraceCheckUtils]: 62: Hoare triple {63944#(or (<= |student_version_#in~w| 31) (<= (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {63937#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 20) student_version_~w))} is VALID [2022-04-28 10:42:03,977 INFO L290 TraceCheckUtils]: 61: Hoare triple {63944#(or (<= |student_version_#in~w| 31) (<= (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {63944#(or (<= |student_version_#in~w| 31) (<= (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,977 INFO L290 TraceCheckUtils]: 60: Hoare triple {63951#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 24) student_version_~w))} ~i~1 := 2 + ~i~1; {63944#(or (<= |student_version_#in~w| 31) (<= (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,978 INFO L290 TraceCheckUtils]: 59: Hoare triple {63951#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 24) student_version_~w))} assume !!(~i~1 < ~w); {63951#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-28 10:42:03,978 INFO L290 TraceCheckUtils]: 58: Hoare triple {63958#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 26) student_version_~w))} ~i~1 := 2 + ~i~1; {63951#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-28 10:42:03,978 INFO L290 TraceCheckUtils]: 57: Hoare triple {63958#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 26) student_version_~w))} assume !!(~i~1 < ~w); {63958#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-28 10:42:03,979 INFO L290 TraceCheckUtils]: 56: Hoare triple {63965#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 28) student_version_~w))} ~i~1 := 2 + ~i~1; {63958#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-28 10:42:03,979 INFO L290 TraceCheckUtils]: 55: Hoare triple {63965#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 28) student_version_~w))} assume !!(~i~1 < ~w); {63965#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-28 10:42:03,980 INFO L290 TraceCheckUtils]: 54: Hoare triple {63972#(or (<= |student_version_#in~w| 31) (<= (+ 30 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {63965#(or (<= |student_version_#in~w| 31) (<= (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-28 10:42:03,980 INFO L290 TraceCheckUtils]: 53: Hoare triple {63972#(or (<= |student_version_#in~w| 31) (<= (+ 30 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {63972#(or (<= |student_version_#in~w| 31) (<= (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,980 INFO L290 TraceCheckUtils]: 52: Hoare triple {63979#(or (<= |student_version_#in~w| 31) (<= (+ 32 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {63972#(or (<= |student_version_#in~w| 31) (<= (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,981 INFO L290 TraceCheckUtils]: 51: Hoare triple {63979#(or (<= |student_version_#in~w| 31) (<= (+ 32 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {63979#(or (<= |student_version_#in~w| 31) (<= (+ 32 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,981 INFO L290 TraceCheckUtils]: 50: Hoare triple {63986#(or (<= |student_version_#in~w| 31) (<= 32 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {63979#(or (<= |student_version_#in~w| 31) (<= (+ 32 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:03,981 INFO L290 TraceCheckUtils]: 49: Hoare triple {63399#true} ~w := #in~w;~is_divisible~1 := ~true~0; {63986#(or (<= |student_version_#in~w| 31) (<= 32 student_version_~w))} is VALID [2022-04-28 10:42:03,981 INFO L272 TraceCheckUtils]: 48: Hoare triple {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) 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)); {63399#true} is VALID [2022-04-28 10:42:03,982 INFO L290 TraceCheckUtils]: 47: Hoare triple {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} is VALID [2022-04-28 10:42:03,983 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {63502#(<= 32 |correct_version_#in~w|)} {63399#true} #87#return; {63443#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 32) main_~w~0))} is VALID [2022-04-28 10:42:03,983 INFO L290 TraceCheckUtils]: 45: Hoare triple {63502#(<= 32 |correct_version_#in~w|)} assume true; {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:03,983 INFO L290 TraceCheckUtils]: 44: Hoare triple {63502#(<= 32 |correct_version_#in~w|)} #res := ~is_divisible~0; {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:03,983 INFO L290 TraceCheckUtils]: 43: Hoare triple {64008#(or (<= 32 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 != ~w); {63502#(<= 32 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:03,984 INFO L290 TraceCheckUtils]: 42: Hoare triple {64008#(or (<= 32 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} assume !(~i~0 < ~w); {64008#(or (<= 32 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-28 10:42:03,984 INFO L290 TraceCheckUtils]: 41: Hoare triple {64015#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 32 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {64008#(or (<= 32 |correct_version_#in~w|) (not (<= correct_version_~i~0 correct_version_~w)))} is VALID [2022-04-28 10:42:03,984 INFO L290 TraceCheckUtils]: 40: Hoare triple {64015#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 32 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {64015#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,985 INFO L290 TraceCheckUtils]: 39: Hoare triple {64022#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} ~i~0 := 2 + ~i~0; {64015#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,985 INFO L290 TraceCheckUtils]: 38: Hoare triple {64022#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} assume !!(~i~0 < ~w); {64022#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-28 10:42:03,986 INFO L290 TraceCheckUtils]: 37: Hoare triple {64029#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {64022#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 4)))} is VALID [2022-04-28 10:42:03,986 INFO L290 TraceCheckUtils]: 36: Hoare triple {64029#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {64029#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-28 10:42:03,986 INFO L290 TraceCheckUtils]: 35: Hoare triple {64036#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 32 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {64029#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-28 10:42:03,987 INFO L290 TraceCheckUtils]: 34: Hoare triple {64036#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 32 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {64036#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,987 INFO L290 TraceCheckUtils]: 33: Hoare triple {64043#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 32 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {64036#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,987 INFO L290 TraceCheckUtils]: 32: Hoare triple {64043#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 32 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {64043#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {64050#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {64043#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,988 INFO L290 TraceCheckUtils]: 30: Hoare triple {64050#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {64050#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:42:03,989 INFO L290 TraceCheckUtils]: 29: Hoare triple {64057#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {64050#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:42:03,989 INFO L290 TraceCheckUtils]: 28: Hoare triple {64057#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {64057#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-28 10:42:03,989 INFO L290 TraceCheckUtils]: 27: Hoare triple {64064#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {64057#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-28 10:42:03,990 INFO L290 TraceCheckUtils]: 26: Hoare triple {64064#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {64064#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-28 10:42:03,990 INFO L290 TraceCheckUtils]: 25: Hoare triple {64071#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {64064#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-28 10:42:03,990 INFO L290 TraceCheckUtils]: 24: Hoare triple {64071#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {64071#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-28 10:42:03,991 INFO L290 TraceCheckUtils]: 23: Hoare triple {64078#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 32 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {64071#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-28 10:42:03,991 INFO L290 TraceCheckUtils]: 22: Hoare triple {64078#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 32 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {64078#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,991 INFO L290 TraceCheckUtils]: 21: Hoare triple {64085#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} ~i~0 := 2 + ~i~0; {64078#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,992 INFO L290 TraceCheckUtils]: 20: Hoare triple {64085#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} assume !!(~i~0 < ~w); {64085#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-28 10:42:03,992 INFO L290 TraceCheckUtils]: 19: Hoare triple {64092#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} ~i~0 := 2 + ~i~0; {64085#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 22)))} is VALID [2022-04-28 10:42:03,992 INFO L290 TraceCheckUtils]: 18: Hoare triple {64092#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} assume !!(~i~0 < ~w); {64092#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-28 10:42:03,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {64099#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 32 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {64092#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-28 10:42:03,993 INFO L290 TraceCheckUtils]: 16: Hoare triple {64099#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 32 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {64099#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,994 INFO L290 TraceCheckUtils]: 15: Hoare triple {64106#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 32 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {64099#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {64106#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 32 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {64106#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {64113#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 32 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {64106#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,995 INFO L290 TraceCheckUtils]: 12: Hoare triple {64113#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 32 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {64113#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,995 INFO L290 TraceCheckUtils]: 11: Hoare triple {64120#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 32)))} ~i~0 := 2 + ~i~0; {64113#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 32 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:03,995 INFO L290 TraceCheckUtils]: 10: Hoare triple {64120#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 32)))} assume !!(~i~0 < ~w); {64120#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 32)))} is VALID [2022-04-28 10:42:03,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {64127#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w 32))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {64120#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 32)))} is VALID [2022-04-28 10:42:03,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {63399#true} ~w := #in~w;~is_divisible~0 := ~true~0; {64127#(or (<= 32 |correct_version_#in~w|) (< correct_version_~w 32))} is VALID [2022-04-28 10:42:03,996 INFO L272 TraceCheckUtils]: 7: Hoare triple {63399#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {63399#true} is VALID [2022-04-28 10:42:03,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {63399#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {63399#true} is VALID [2022-04-28 10:42:03,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {63399#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {63399#true} is VALID [2022-04-28 10:42:03,996 INFO L272 TraceCheckUtils]: 4: Hoare triple {63399#true} call #t~ret7 := main(); {63399#true} is VALID [2022-04-28 10:42:04,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63399#true} {63399#true} #93#return; {63399#true} is VALID [2022-04-28 10:42:04,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {63399#true} assume true; {63399#true} is VALID [2022-04-28 10:42:04,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {63399#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {63399#true} is VALID [2022-04-28 10:42:04,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {63399#true} call ULTIMATE.init(); {63399#true} is VALID [2022-04-28 10:42:04,006 INFO L134 CoverageAnalysis]: Checked inductivity of 512 backedges. 256 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:04,006 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1252818356] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:42:04,006 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:42:04,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [43, 42, 42] total 117 [2022-04-28 10:42:04,007 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:42:04,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [380878530] [2022-04-28 10:42:04,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [380878530] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:42:04,007 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:42:04,007 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [43] imperfect sequences [] total 43 [2022-04-28 10:42:04,007 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [340030390] [2022-04-28 10:42:04,007 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:42:04,007 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 93 [2022-04-28 10:42:04,007 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:42:04,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:04,066 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-28 10:42:04,066 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 43 states [2022-04-28 10:42:04,066 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:04,067 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 43 interpolants. [2022-04-28 10:42:04,067 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2189, Invalid=11383, Unknown=0, NotChecked=0, Total=13572 [2022-04-28 10:42:04,068 INFO L87 Difference]: Start difference. First operand 105 states and 109 transitions. Second operand has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:07,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:07,545 INFO L93 Difference]: Finished difference Result 117 states and 122 transitions. [2022-04-28 10:42:07,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2022-04-28 10:42:07,545 INFO L78 Accepts]: Start accepts. Automaton has has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 93 [2022-04-28 10:42:07,545 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:42:07,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:07,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 117 transitions. [2022-04-28 10:42:07,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:07,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 117 transitions. [2022-04-28 10:42:07,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 117 transitions. [2022-04-28 10:42:07,645 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:07,646 INFO L225 Difference]: With dead ends: 117 [2022-04-28 10:42:07,646 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 10:42:07,647 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 271 GetRequests, 111 SyntacticMatches, 5 SemanticMatches, 155 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11289 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=3752, Invalid=20740, Unknown=0, NotChecked=0, Total=24492 [2022-04-28 10:42:07,648 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 131 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 710 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 132 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 760 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 710 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:42:07,648 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [132 Valid, 75 Invalid, 760 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 710 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:42:07,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 10:42:08,977 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 108. [2022-04-28 10:42:08,977 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:42:08,978 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 108 states, 96 states have (on average 1.0625) internal successors, (102), 98 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:42:08,978 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 108 states, 96 states have (on average 1.0625) internal successors, (102), 98 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:42:08,978 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 108 states, 96 states have (on average 1.0625) internal successors, (102), 98 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:42:08,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:08,979 INFO L93 Difference]: Finished difference Result 108 states and 113 transitions. [2022-04-28 10:42:08,979 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 113 transitions. [2022-04-28 10:42:08,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:08,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:08,980 INFO L74 IsIncluded]: Start isIncluded. First operand has 108 states, 96 states have (on average 1.0625) internal successors, (102), 98 states have internal predecessors, (102), 6 states have call successors, (6), 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 108 states. [2022-04-28 10:42:08,980 INFO L87 Difference]: Start difference. First operand has 108 states, 96 states have (on average 1.0625) internal successors, (102), 98 states have internal predecessors, (102), 6 states have call successors, (6), 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 108 states. [2022-04-28 10:42:08,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:08,981 INFO L93 Difference]: Finished difference Result 108 states and 113 transitions. [2022-04-28 10:42:08,981 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 113 transitions. [2022-04-28 10:42:08,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:08,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:08,981 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:42:08,981 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:42:08,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 96 states have (on average 1.0625) internal successors, (102), 98 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:42:08,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 113 transitions. [2022-04-28 10:42:08,983 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 113 transitions. Word has length 93 [2022-04-28 10:42:08,983 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:42:08,983 INFO L495 AbstractCegarLoop]: Abstraction has 108 states and 113 transitions. [2022-04-28 10:42:08,983 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 43 states, 43 states have (on average 1.9767441860465116) internal successors, (85), 42 states have internal predecessors, (85), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:08,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 108 states and 113 transitions. [2022-04-28 10:42:09,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:09,284 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 113 transitions. [2022-04-28 10:42:09,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-28 10:42:09,285 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:42:09,285 INFO L195 NwaCegarLoop]: trace histogram [17, 17, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:42:09,306 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Forceful destruction successful, exit code 0 [2022-04-28 10:42:09,485 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 63 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable65 [2022-04-28 10:42:09,485 INFO L420 AbstractCegarLoop]: === Iteration 67 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:42:09,486 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:42:09,486 INFO L85 PathProgramCache]: Analyzing trace with hash -189859787, now seen corresponding path program 61 times [2022-04-28 10:42:09,486 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:09,486 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1008728856] [2022-04-28 10:42:09,489 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:42:09,490 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:42:09,490 INFO L85 PathProgramCache]: Analyzing trace with hash -189859787, now seen corresponding path program 62 times [2022-04-28 10:42:09,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:42:09,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1203413312] [2022-04-28 10:42:09,490 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:42:09,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:42:09,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:09,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:42:09,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:09,538 INFO L290 TraceCheckUtils]: 0: Hoare triple {64986#(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; {64900#true} is VALID [2022-04-28 10:42:09,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {64900#true} assume true; {64900#true} is VALID [2022-04-28 10:42:09,538 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {64900#true} {64900#true} #93#return; {64900#true} is VALID [2022-04-28 10:42:09,538 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:42:09,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:09,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {64900#true} ~w := #in~w;~is_divisible~0 := ~true~0; {64987#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:09,841 INFO L290 TraceCheckUtils]: 1: Hoare triple {64987#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {64988#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {64988#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64988#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,842 INFO L290 TraceCheckUtils]: 3: Hoare triple {64988#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64989#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,842 INFO L290 TraceCheckUtils]: 4: Hoare triple {64989#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64989#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {64989#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64990#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,843 INFO L290 TraceCheckUtils]: 6: Hoare triple {64990#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64990#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {64990#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64991#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {64991#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64991#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {64991#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64992#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:09,845 INFO L290 TraceCheckUtils]: 10: Hoare triple {64992#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {64992#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:09,845 INFO L290 TraceCheckUtils]: 11: Hoare triple {64992#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {64993#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,846 INFO L290 TraceCheckUtils]: 12: Hoare triple {64993#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64993#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,846 INFO L290 TraceCheckUtils]: 13: Hoare triple {64993#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64994#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,846 INFO L290 TraceCheckUtils]: 14: Hoare triple {64994#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64994#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,847 INFO L290 TraceCheckUtils]: 15: Hoare triple {64994#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64995#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:09,847 INFO L290 TraceCheckUtils]: 16: Hoare triple {64995#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {64995#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:09,848 INFO L290 TraceCheckUtils]: 17: Hoare triple {64995#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {64996#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {64996#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64996#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {64996#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64997#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:09,849 INFO L290 TraceCheckUtils]: 20: Hoare triple {64997#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {64997#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:09,849 INFO L290 TraceCheckUtils]: 21: Hoare triple {64997#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {64998#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,850 INFO L290 TraceCheckUtils]: 22: Hoare triple {64998#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64998#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,850 INFO L290 TraceCheckUtils]: 23: Hoare triple {64998#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64999#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,850 INFO L290 TraceCheckUtils]: 24: Hoare triple {64999#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64999#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,851 INFO L290 TraceCheckUtils]: 25: Hoare triple {64999#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65000#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,851 INFO L290 TraceCheckUtils]: 26: Hoare triple {65000#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {65000#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {65000#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65001#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,852 INFO L290 TraceCheckUtils]: 28: Hoare triple {65001#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {65001#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,852 INFO L290 TraceCheckUtils]: 29: Hoare triple {65001#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65002#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {65002#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {65002#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,853 INFO L290 TraceCheckUtils]: 31: Hoare triple {65002#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65003#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {65003#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {65003#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,854 INFO L290 TraceCheckUtils]: 33: Hoare triple {65003#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65004#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,854 INFO L290 TraceCheckUtils]: 34: Hoare triple {65004#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {65005#(and (<= correct_version_~w 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:09,855 INFO L290 TraceCheckUtils]: 35: Hoare triple {65005#(and (<= correct_version_~w 32) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:09,855 INFO L290 TraceCheckUtils]: 36: Hoare triple {65006#(<= |correct_version_#in~w| 32)} #res := ~is_divisible~0; {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:09,855 INFO L290 TraceCheckUtils]: 37: Hoare triple {65006#(<= |correct_version_#in~w| 32)} assume true; {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:09,856 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {65006#(<= |correct_version_#in~w| 32)} {64900#true} #87#return; {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} is VALID [2022-04-28 10:42:09,856 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-04-28 10:42:09,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:10,191 INFO L290 TraceCheckUtils]: 0: Hoare triple {64900#true} ~w := #in~w;~is_divisible~1 := ~true~0; {65007#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:10,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {65007#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {65008#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {65008#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65008#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,192 INFO L290 TraceCheckUtils]: 3: Hoare triple {65008#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65009#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,192 INFO L290 TraceCheckUtils]: 4: Hoare triple {65009#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65009#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,192 INFO L290 TraceCheckUtils]: 5: Hoare triple {65009#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65010#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:10,193 INFO L290 TraceCheckUtils]: 6: Hoare triple {65010#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {65010#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:10,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {65010#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65011#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:42:10,194 INFO L290 TraceCheckUtils]: 8: Hoare triple {65011#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {65011#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:42:10,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {65011#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65012#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:42:10,194 INFO L290 TraceCheckUtils]: 10: Hoare triple {65012#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {65012#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:42:10,195 INFO L290 TraceCheckUtils]: 11: Hoare triple {65012#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65013#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,195 INFO L290 TraceCheckUtils]: 12: Hoare triple {65013#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65013#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {65013#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65014#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:42:10,196 INFO L290 TraceCheckUtils]: 14: Hoare triple {65014#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {65014#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:42:10,196 INFO L290 TraceCheckUtils]: 15: Hoare triple {65014#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65015#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,196 INFO L290 TraceCheckUtils]: 16: Hoare triple {65015#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65015#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,197 INFO L290 TraceCheckUtils]: 17: Hoare triple {65015#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65016#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,197 INFO L290 TraceCheckUtils]: 18: Hoare triple {65016#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65016#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,198 INFO L290 TraceCheckUtils]: 19: Hoare triple {65016#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65017#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {65017#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65017#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,198 INFO L290 TraceCheckUtils]: 21: Hoare triple {65017#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65018#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:42:10,199 INFO L290 TraceCheckUtils]: 22: Hoare triple {65018#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {65018#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:42:10,199 INFO L290 TraceCheckUtils]: 23: Hoare triple {65018#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65019#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,199 INFO L290 TraceCheckUtils]: 24: Hoare triple {65019#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65019#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,200 INFO L290 TraceCheckUtils]: 25: Hoare triple {65019#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65020#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,200 INFO L290 TraceCheckUtils]: 26: Hoare triple {65020#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65020#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,200 INFO L290 TraceCheckUtils]: 27: Hoare triple {65020#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65021#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,201 INFO L290 TraceCheckUtils]: 28: Hoare triple {65021#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65021#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,201 INFO L290 TraceCheckUtils]: 29: Hoare triple {65021#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65022#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,202 INFO L290 TraceCheckUtils]: 30: Hoare triple {65022#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65022#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,202 INFO L290 TraceCheckUtils]: 31: Hoare triple {65022#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65023#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:42:10,202 INFO L290 TraceCheckUtils]: 32: Hoare triple {65023#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {65023#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:42:10,203 INFO L290 TraceCheckUtils]: 33: Hoare triple {65023#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65024#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {65024#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} is VALID [2022-04-28 10:42:10,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} ~i~1 := 2 + ~i~1; {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} is VALID [2022-04-28 10:42:10,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} assume !(~i~1 < ~w); {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} is VALID [2022-04-28 10:42:10,204 INFO L290 TraceCheckUtils]: 37: Hoare triple {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:10,204 INFO L290 TraceCheckUtils]: 38: Hoare triple {65026#(<= 33 |student_version_#in~w|)} #res := ~is_divisible~1; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:10,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {65026#(<= 33 |student_version_#in~w|)} assume true; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:10,205 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {65026#(<= 33 |student_version_#in~w|)} {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} #89#return; {64901#false} is VALID [2022-04-28 10:42:10,206 INFO L272 TraceCheckUtils]: 0: Hoare triple {64900#true} call ULTIMATE.init(); {64986#(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-28 10:42:10,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {64986#(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; {64900#true} is VALID [2022-04-28 10:42:10,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {64900#true} assume true; {64900#true} is VALID [2022-04-28 10:42:10,206 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64900#true} {64900#true} #93#return; {64900#true} is VALID [2022-04-28 10:42:10,206 INFO L272 TraceCheckUtils]: 4: Hoare triple {64900#true} call #t~ret7 := main(); {64900#true} is VALID [2022-04-28 10:42:10,206 INFO L290 TraceCheckUtils]: 5: Hoare triple {64900#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {64900#true} is VALID [2022-04-28 10:42:10,206 INFO L290 TraceCheckUtils]: 6: Hoare triple {64900#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {64900#true} is VALID [2022-04-28 10:42:10,206 INFO L272 TraceCheckUtils]: 7: Hoare triple {64900#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {64900#true} is VALID [2022-04-28 10:42:10,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {64900#true} ~w := #in~w;~is_divisible~0 := ~true~0; {64987#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:10,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {64987#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {64988#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,207 INFO L290 TraceCheckUtils]: 10: Hoare triple {64988#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64988#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,208 INFO L290 TraceCheckUtils]: 11: Hoare triple {64988#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64989#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,208 INFO L290 TraceCheckUtils]: 12: Hoare triple {64989#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64989#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {64989#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64990#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,209 INFO L290 TraceCheckUtils]: 14: Hoare triple {64990#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64990#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,209 INFO L290 TraceCheckUtils]: 15: Hoare triple {64990#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64991#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,209 INFO L290 TraceCheckUtils]: 16: Hoare triple {64991#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64991#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,210 INFO L290 TraceCheckUtils]: 17: Hoare triple {64991#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64992#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:10,210 INFO L290 TraceCheckUtils]: 18: Hoare triple {64992#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {64992#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:10,210 INFO L290 TraceCheckUtils]: 19: Hoare triple {64992#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {64993#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {64993#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64993#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,211 INFO L290 TraceCheckUtils]: 21: Hoare triple {64993#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64994#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,211 INFO L290 TraceCheckUtils]: 22: Hoare triple {64994#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64994#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {64994#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64995#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:10,212 INFO L290 TraceCheckUtils]: 24: Hoare triple {64995#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {64995#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:10,213 INFO L290 TraceCheckUtils]: 25: Hoare triple {64995#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {64996#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,213 INFO L290 TraceCheckUtils]: 26: Hoare triple {64996#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64996#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,213 INFO L290 TraceCheckUtils]: 27: Hoare triple {64996#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64997#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:10,214 INFO L290 TraceCheckUtils]: 28: Hoare triple {64997#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {64997#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:10,214 INFO L290 TraceCheckUtils]: 29: Hoare triple {64997#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {64998#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {64998#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64998#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,215 INFO L290 TraceCheckUtils]: 31: Hoare triple {64998#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {64999#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,215 INFO L290 TraceCheckUtils]: 32: Hoare triple {64999#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {64999#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,215 INFO L290 TraceCheckUtils]: 33: Hoare triple {64999#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65000#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,216 INFO L290 TraceCheckUtils]: 34: Hoare triple {65000#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {65000#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,216 INFO L290 TraceCheckUtils]: 35: Hoare triple {65000#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65001#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,217 INFO L290 TraceCheckUtils]: 36: Hoare triple {65001#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {65001#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,217 INFO L290 TraceCheckUtils]: 37: Hoare triple {65001#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65002#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,217 INFO L290 TraceCheckUtils]: 38: Hoare triple {65002#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {65002#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,218 INFO L290 TraceCheckUtils]: 39: Hoare triple {65002#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65003#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,218 INFO L290 TraceCheckUtils]: 40: Hoare triple {65003#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {65003#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,218 INFO L290 TraceCheckUtils]: 41: Hoare triple {65003#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {65004#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,219 INFO L290 TraceCheckUtils]: 42: Hoare triple {65004#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {65005#(and (<= correct_version_~w 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:10,219 INFO L290 TraceCheckUtils]: 43: Hoare triple {65005#(and (<= correct_version_~w 32) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:10,219 INFO L290 TraceCheckUtils]: 44: Hoare triple {65006#(<= |correct_version_#in~w| 32)} #res := ~is_divisible~0; {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:10,220 INFO L290 TraceCheckUtils]: 45: Hoare triple {65006#(<= |correct_version_#in~w| 32)} assume true; {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:10,220 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {65006#(<= |correct_version_#in~w| 32)} {64900#true} #87#return; {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} is VALID [2022-04-28 10:42:10,221 INFO L290 TraceCheckUtils]: 47: Hoare triple {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} is VALID [2022-04-28 10:42:10,221 INFO L272 TraceCheckUtils]: 48: Hoare triple {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {64900#true} is VALID [2022-04-28 10:42:10,221 INFO L290 TraceCheckUtils]: 49: Hoare triple {64900#true} ~w := #in~w;~is_divisible~1 := ~true~0; {65007#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:10,221 INFO L290 TraceCheckUtils]: 50: Hoare triple {65007#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {65008#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,222 INFO L290 TraceCheckUtils]: 51: Hoare triple {65008#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65008#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,222 INFO L290 TraceCheckUtils]: 52: Hoare triple {65008#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65009#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,222 INFO L290 TraceCheckUtils]: 53: Hoare triple {65009#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65009#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,223 INFO L290 TraceCheckUtils]: 54: Hoare triple {65009#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65010#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:10,223 INFO L290 TraceCheckUtils]: 55: Hoare triple {65010#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {65010#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:10,223 INFO L290 TraceCheckUtils]: 56: Hoare triple {65010#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65011#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:42:10,224 INFO L290 TraceCheckUtils]: 57: Hoare triple {65011#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {65011#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:42:10,224 INFO L290 TraceCheckUtils]: 58: Hoare triple {65011#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65012#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:42:10,224 INFO L290 TraceCheckUtils]: 59: Hoare triple {65012#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {65012#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:42:10,225 INFO L290 TraceCheckUtils]: 60: Hoare triple {65012#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65013#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,225 INFO L290 TraceCheckUtils]: 61: Hoare triple {65013#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65013#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,226 INFO L290 TraceCheckUtils]: 62: Hoare triple {65013#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65014#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:42:10,226 INFO L290 TraceCheckUtils]: 63: Hoare triple {65014#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {65014#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:42:10,226 INFO L290 TraceCheckUtils]: 64: Hoare triple {65014#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65015#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,227 INFO L290 TraceCheckUtils]: 65: Hoare triple {65015#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65015#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,227 INFO L290 TraceCheckUtils]: 66: Hoare triple {65015#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65016#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,227 INFO L290 TraceCheckUtils]: 67: Hoare triple {65016#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65016#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,228 INFO L290 TraceCheckUtils]: 68: Hoare triple {65016#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65017#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,228 INFO L290 TraceCheckUtils]: 69: Hoare triple {65017#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65017#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,228 INFO L290 TraceCheckUtils]: 70: Hoare triple {65017#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65018#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:42:10,229 INFO L290 TraceCheckUtils]: 71: Hoare triple {65018#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {65018#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:42:10,229 INFO L290 TraceCheckUtils]: 72: Hoare triple {65018#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65019#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,229 INFO L290 TraceCheckUtils]: 73: Hoare triple {65019#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65019#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,230 INFO L290 TraceCheckUtils]: 74: Hoare triple {65019#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65020#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,230 INFO L290 TraceCheckUtils]: 75: Hoare triple {65020#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65020#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,230 INFO L290 TraceCheckUtils]: 76: Hoare triple {65020#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65021#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,231 INFO L290 TraceCheckUtils]: 77: Hoare triple {65021#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65021#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,231 INFO L290 TraceCheckUtils]: 78: Hoare triple {65021#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65022#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,231 INFO L290 TraceCheckUtils]: 79: Hoare triple {65022#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65022#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,232 INFO L290 TraceCheckUtils]: 80: Hoare triple {65022#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {65023#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:42:10,232 INFO L290 TraceCheckUtils]: 81: Hoare triple {65023#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {65023#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:42:10,233 INFO L290 TraceCheckUtils]: 82: Hoare triple {65023#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65024#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:10,233 INFO L290 TraceCheckUtils]: 83: Hoare triple {65024#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} is VALID [2022-04-28 10:42:10,233 INFO L290 TraceCheckUtils]: 84: Hoare triple {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} ~i~1 := 2 + ~i~1; {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} is VALID [2022-04-28 10:42:10,234 INFO L290 TraceCheckUtils]: 85: Hoare triple {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} assume !(~i~1 < ~w); {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} is VALID [2022-04-28 10:42:10,234 INFO L290 TraceCheckUtils]: 86: Hoare triple {65025#(and (= |student_version_#in~w| student_version_~w) (<= 33 student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:10,234 INFO L290 TraceCheckUtils]: 87: Hoare triple {65026#(<= 33 |student_version_#in~w|)} #res := ~is_divisible~1; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:10,234 INFO L290 TraceCheckUtils]: 88: Hoare triple {65026#(<= 33 |student_version_#in~w|)} assume true; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:10,235 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {65026#(<= 33 |student_version_#in~w|)} {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} #89#return; {64901#false} is VALID [2022-04-28 10:42:10,235 INFO L290 TraceCheckUtils]: 90: Hoare triple {64901#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {64901#false} is VALID [2022-04-28 10:42:10,235 INFO L272 TraceCheckUtils]: 91: Hoare triple {64901#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {64901#false} is VALID [2022-04-28 10:42:10,235 INFO L290 TraceCheckUtils]: 92: Hoare triple {64901#false} ~cond := #in~cond; {64901#false} is VALID [2022-04-28 10:42:10,235 INFO L290 TraceCheckUtils]: 93: Hoare triple {64901#false} assume 0 == ~cond; {64901#false} is VALID [2022-04-28 10:42:10,235 INFO L290 TraceCheckUtils]: 94: Hoare triple {64901#false} assume !false; {64901#false} is VALID [2022-04-28 10:42:10,236 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 256 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:10,236 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:42:10,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1203413312] [2022-04-28 10:42:10,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1203413312] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:42:10,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [573457351] [2022-04-28 10:42:10,236 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:42:10,236 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:42:10,236 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:42:10,237 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:42:10,237 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Waiting until timeout for monitored process [2022-04-28 10:42:10,403 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:42:10,403 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:42:10,405 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 10:42:10,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:10,426 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:42:11,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {64900#true} call ULTIMATE.init(); {64900#true} is VALID [2022-04-28 10:42:11,995 INFO L290 TraceCheckUtils]: 1: Hoare triple {64900#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {64900#true} is VALID [2022-04-28 10:42:11,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {64900#true} assume true; {64900#true} is VALID [2022-04-28 10:42:11,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64900#true} {64900#true} #93#return; {64900#true} is VALID [2022-04-28 10:42:11,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {64900#true} call #t~ret7 := main(); {64900#true} is VALID [2022-04-28 10:42:11,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {64900#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {64900#true} is VALID [2022-04-28 10:42:11,995 INFO L290 TraceCheckUtils]: 6: Hoare triple {64900#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {64900#true} is VALID [2022-04-28 10:42:11,995 INFO L272 TraceCheckUtils]: 7: Hoare triple {64900#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {64900#true} is VALID [2022-04-28 10:42:11,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {64900#true} ~w := #in~w;~is_divisible~0 := ~true~0; {65054#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:11,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {65054#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {65058#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:42:11,996 INFO L290 TraceCheckUtils]: 10: Hoare triple {65058#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {65058#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:42:11,997 INFO L290 TraceCheckUtils]: 11: Hoare triple {65058#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {65065#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:42:11,997 INFO L290 TraceCheckUtils]: 12: Hoare triple {65065#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {65065#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:42:11,998 INFO L290 TraceCheckUtils]: 13: Hoare triple {65065#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {65072#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:42:11,998 INFO L290 TraceCheckUtils]: 14: Hoare triple {65072#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {65072#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:42:11,998 INFO L290 TraceCheckUtils]: 15: Hoare triple {65072#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {65079#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:42:11,999 INFO L290 TraceCheckUtils]: 16: Hoare triple {65079#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {65079#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:42:11,999 INFO L290 TraceCheckUtils]: 17: Hoare triple {65079#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {65086#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:12,000 INFO L290 TraceCheckUtils]: 18: Hoare triple {65086#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {65086#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:12,000 INFO L290 TraceCheckUtils]: 19: Hoare triple {65086#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {65093#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:42:12,000 INFO L290 TraceCheckUtils]: 20: Hoare triple {65093#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {65093#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:42:12,001 INFO L290 TraceCheckUtils]: 21: Hoare triple {65093#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {65100#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:42:12,001 INFO L290 TraceCheckUtils]: 22: Hoare triple {65100#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {65100#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:42:12,001 INFO L290 TraceCheckUtils]: 23: Hoare triple {65100#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {65107#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:12,002 INFO L290 TraceCheckUtils]: 24: Hoare triple {65107#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {65107#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:12,002 INFO L290 TraceCheckUtils]: 25: Hoare triple {65107#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {65114#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:42:12,002 INFO L290 TraceCheckUtils]: 26: Hoare triple {65114#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {65114#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:42:12,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {65114#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {65121#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:12,003 INFO L290 TraceCheckUtils]: 28: Hoare triple {65121#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {65121#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:12,004 INFO L290 TraceCheckUtils]: 29: Hoare triple {65121#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {65128#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:42:12,004 INFO L290 TraceCheckUtils]: 30: Hoare triple {65128#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {65128#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:42:12,004 INFO L290 TraceCheckUtils]: 31: Hoare triple {65128#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {65135#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:42:12,005 INFO L290 TraceCheckUtils]: 32: Hoare triple {65135#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {65135#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:42:12,005 INFO L290 TraceCheckUtils]: 33: Hoare triple {65135#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {65142#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:42:12,005 INFO L290 TraceCheckUtils]: 34: Hoare triple {65142#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {65142#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:42:12,006 INFO L290 TraceCheckUtils]: 35: Hoare triple {65142#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {65149#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:42:12,006 INFO L290 TraceCheckUtils]: 36: Hoare triple {65149#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {65149#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:42:12,007 INFO L290 TraceCheckUtils]: 37: Hoare triple {65149#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {65156#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:42:12,007 INFO L290 TraceCheckUtils]: 38: Hoare triple {65156#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !!(~i~0 < ~w); {65156#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:42:12,007 INFO L290 TraceCheckUtils]: 39: Hoare triple {65156#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} ~i~0 := 2 + ~i~0; {65163#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:42:12,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {65163#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} assume !!(~i~0 < ~w); {65163#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:42:12,008 INFO L290 TraceCheckUtils]: 41: Hoare triple {65163#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} ~i~0 := 2 + ~i~0; {65170#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} is VALID [2022-04-28 10:42:12,008 INFO L290 TraceCheckUtils]: 42: Hoare triple {65170#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} assume !(~i~0 < ~w); {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:12,009 INFO L290 TraceCheckUtils]: 43: Hoare triple {65006#(<= |correct_version_#in~w| 32)} assume !(~i~0 != ~w); {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:12,009 INFO L290 TraceCheckUtils]: 44: Hoare triple {65006#(<= |correct_version_#in~w| 32)} #res := ~is_divisible~0; {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:12,009 INFO L290 TraceCheckUtils]: 45: Hoare triple {65006#(<= |correct_version_#in~w| 32)} assume true; {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:12,010 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {65006#(<= |correct_version_#in~w| 32)} {64900#true} #87#return; {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} is VALID [2022-04-28 10:42:12,010 INFO L290 TraceCheckUtils]: 47: Hoare triple {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} is VALID [2022-04-28 10:42:12,011 INFO L272 TraceCheckUtils]: 48: Hoare triple {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {64900#true} is VALID [2022-04-28 10:42:12,011 INFO L290 TraceCheckUtils]: 49: Hoare triple {64900#true} ~w := #in~w;~is_divisible~1 := ~true~0; {65195#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-28 10:42:12,011 INFO L290 TraceCheckUtils]: 50: Hoare triple {65195#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {65199#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,011 INFO L290 TraceCheckUtils]: 51: Hoare triple {65199#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65199#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,012 INFO L290 TraceCheckUtils]: 52: Hoare triple {65199#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65206#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,012 INFO L290 TraceCheckUtils]: 53: Hoare triple {65206#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65206#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,013 INFO L290 TraceCheckUtils]: 54: Hoare triple {65206#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65213#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:12,013 INFO L290 TraceCheckUtils]: 55: Hoare triple {65213#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {65213#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:12,013 INFO L290 TraceCheckUtils]: 56: Hoare triple {65213#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {65220#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,014 INFO L290 TraceCheckUtils]: 57: Hoare triple {65220#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65220#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,014 INFO L290 TraceCheckUtils]: 58: Hoare triple {65220#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65227#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,014 INFO L290 TraceCheckUtils]: 59: Hoare triple {65227#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65227#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,015 INFO L290 TraceCheckUtils]: 60: Hoare triple {65227#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65234#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,015 INFO L290 TraceCheckUtils]: 61: Hoare triple {65234#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65234#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,016 INFO L290 TraceCheckUtils]: 62: Hoare triple {65234#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65241#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,016 INFO L290 TraceCheckUtils]: 63: Hoare triple {65241#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65241#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,016 INFO L290 TraceCheckUtils]: 64: Hoare triple {65241#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65248#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,017 INFO L290 TraceCheckUtils]: 65: Hoare triple {65248#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65248#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,017 INFO L290 TraceCheckUtils]: 66: Hoare triple {65248#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65255#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,017 INFO L290 TraceCheckUtils]: 67: Hoare triple {65255#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65255#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,018 INFO L290 TraceCheckUtils]: 68: Hoare triple {65255#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65262#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,018 INFO L290 TraceCheckUtils]: 69: Hoare triple {65262#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65262#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,018 INFO L290 TraceCheckUtils]: 70: Hoare triple {65262#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65269#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,019 INFO L290 TraceCheckUtils]: 71: Hoare triple {65269#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65269#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,019 INFO L290 TraceCheckUtils]: 72: Hoare triple {65269#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65276#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,020 INFO L290 TraceCheckUtils]: 73: Hoare triple {65276#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65276#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,020 INFO L290 TraceCheckUtils]: 74: Hoare triple {65276#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65283#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,020 INFO L290 TraceCheckUtils]: 75: Hoare triple {65283#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65283#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,021 INFO L290 TraceCheckUtils]: 76: Hoare triple {65283#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65290#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,021 INFO L290 TraceCheckUtils]: 77: Hoare triple {65290#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65290#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,021 INFO L290 TraceCheckUtils]: 78: Hoare triple {65290#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65297#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,022 INFO L290 TraceCheckUtils]: 79: Hoare triple {65297#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65297#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,022 INFO L290 TraceCheckUtils]: 80: Hoare triple {65297#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65304#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,022 INFO L290 TraceCheckUtils]: 81: Hoare triple {65304#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65304#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,023 INFO L290 TraceCheckUtils]: 82: Hoare triple {65304#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65311#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:12,023 INFO L290 TraceCheckUtils]: 83: Hoare triple {65311#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:12,024 INFO L290 TraceCheckUtils]: 84: Hoare triple {65026#(<= 33 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:12,024 INFO L290 TraceCheckUtils]: 85: Hoare triple {65026#(<= 33 |student_version_#in~w|)} assume !(~i~1 < ~w); {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:12,024 INFO L290 TraceCheckUtils]: 86: Hoare triple {65026#(<= 33 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:12,024 INFO L290 TraceCheckUtils]: 87: Hoare triple {65026#(<= 33 |student_version_#in~w|)} #res := ~is_divisible~1; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:12,025 INFO L290 TraceCheckUtils]: 88: Hoare triple {65026#(<= 33 |student_version_#in~w|)} assume true; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:12,025 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {65026#(<= 33 |student_version_#in~w|)} {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} #89#return; {64901#false} is VALID [2022-04-28 10:42:12,025 INFO L290 TraceCheckUtils]: 90: Hoare triple {64901#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {64901#false} is VALID [2022-04-28 10:42:12,025 INFO L272 TraceCheckUtils]: 91: Hoare triple {64901#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {64901#false} is VALID [2022-04-28 10:42:12,026 INFO L290 TraceCheckUtils]: 92: Hoare triple {64901#false} ~cond := #in~cond; {64901#false} is VALID [2022-04-28 10:42:12,026 INFO L290 TraceCheckUtils]: 93: Hoare triple {64901#false} assume 0 == ~cond; {64901#false} is VALID [2022-04-28 10:42:12,026 INFO L290 TraceCheckUtils]: 94: Hoare triple {64901#false} assume !false; {64901#false} is VALID [2022-04-28 10:42:12,026 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 256 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:12,026 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:42:17,732 INFO L290 TraceCheckUtils]: 94: Hoare triple {64901#false} assume !false; {64901#false} is VALID [2022-04-28 10:42:17,732 INFO L290 TraceCheckUtils]: 93: Hoare triple {64901#false} assume 0 == ~cond; {64901#false} is VALID [2022-04-28 10:42:17,733 INFO L290 TraceCheckUtils]: 92: Hoare triple {64901#false} ~cond := #in~cond; {64901#false} is VALID [2022-04-28 10:42:17,733 INFO L272 TraceCheckUtils]: 91: Hoare triple {64901#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {64901#false} is VALID [2022-04-28 10:42:17,733 INFO L290 TraceCheckUtils]: 90: Hoare triple {64901#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {64901#false} is VALID [2022-04-28 10:42:17,733 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {65026#(<= 33 |student_version_#in~w|)} {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} #89#return; {64901#false} is VALID [2022-04-28 10:42:17,734 INFO L290 TraceCheckUtils]: 88: Hoare triple {65026#(<= 33 |student_version_#in~w|)} assume true; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:17,734 INFO L290 TraceCheckUtils]: 87: Hoare triple {65026#(<= 33 |student_version_#in~w|)} #res := ~is_divisible~1; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:17,734 INFO L290 TraceCheckUtils]: 86: Hoare triple {65026#(<= 33 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:17,735 INFO L290 TraceCheckUtils]: 85: Hoare triple {65026#(<= 33 |student_version_#in~w|)} assume !(~i~1 < ~w); {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:17,735 INFO L290 TraceCheckUtils]: 84: Hoare triple {65026#(<= 33 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:17,735 INFO L290 TraceCheckUtils]: 83: Hoare triple {65384#(or (not (< student_version_~i~1 student_version_~w)) (<= 33 |student_version_#in~w|))} assume !!(~i~1 < ~w); {65026#(<= 33 |student_version_#in~w|)} is VALID [2022-04-28 10:42:17,735 INFO L290 TraceCheckUtils]: 82: Hoare triple {65388#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {65384#(or (not (< student_version_~i~1 student_version_~w)) (<= 33 |student_version_#in~w|))} is VALID [2022-04-28 10:42:17,736 INFO L290 TraceCheckUtils]: 81: Hoare triple {65388#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {65388#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,736 INFO L290 TraceCheckUtils]: 80: Hoare triple {65395#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} ~i~1 := 2 + ~i~1; {65388#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,737 INFO L290 TraceCheckUtils]: 79: Hoare triple {65395#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} assume !!(~i~1 < ~w); {65395#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-28 10:42:17,737 INFO L290 TraceCheckUtils]: 78: Hoare triple {65402#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {65395#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 4)))} is VALID [2022-04-28 10:42:17,737 INFO L290 TraceCheckUtils]: 77: Hoare triple {65402#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {65402#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,738 INFO L290 TraceCheckUtils]: 76: Hoare triple {65409#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {65402#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,738 INFO L290 TraceCheckUtils]: 75: Hoare triple {65409#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {65409#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-28 10:42:17,738 INFO L290 TraceCheckUtils]: 74: Hoare triple {65416#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 33 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65409#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-28 10:42:17,739 INFO L290 TraceCheckUtils]: 73: Hoare triple {65416#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 33 |student_version_#in~w|))} assume !!(~i~1 < ~w); {65416#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 33 |student_version_#in~w|))} is VALID [2022-04-28 10:42:17,739 INFO L290 TraceCheckUtils]: 72: Hoare triple {65423#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {65416#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 33 |student_version_#in~w|))} is VALID [2022-04-28 10:42:17,739 INFO L290 TraceCheckUtils]: 71: Hoare triple {65423#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {65423#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-28 10:42:17,740 INFO L290 TraceCheckUtils]: 70: Hoare triple {65430#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {65423#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-28 10:42:17,740 INFO L290 TraceCheckUtils]: 69: Hoare triple {65430#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {65430#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,740 INFO L290 TraceCheckUtils]: 68: Hoare triple {65437#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {65430#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,741 INFO L290 TraceCheckUtils]: 67: Hoare triple {65437#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {65437#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,741 INFO L290 TraceCheckUtils]: 66: Hoare triple {65444#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 33 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65437#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,741 INFO L290 TraceCheckUtils]: 65: Hoare triple {65444#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 33 |student_version_#in~w|))} assume !!(~i~1 < ~w); {65444#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 33 |student_version_#in~w|))} is VALID [2022-04-28 10:42:17,742 INFO L290 TraceCheckUtils]: 64: Hoare triple {65451#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {65444#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 33 |student_version_#in~w|))} is VALID [2022-04-28 10:42:17,742 INFO L290 TraceCheckUtils]: 63: Hoare triple {65451#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {65451#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-28 10:42:17,743 INFO L290 TraceCheckUtils]: 62: Hoare triple {65458#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {65451#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-28 10:42:17,743 INFO L290 TraceCheckUtils]: 61: Hoare triple {65458#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {65458#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,743 INFO L290 TraceCheckUtils]: 60: Hoare triple {65465#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 24)))} ~i~1 := 2 + ~i~1; {65458#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,744 INFO L290 TraceCheckUtils]: 59: Hoare triple {65465#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 24)))} assume !!(~i~1 < ~w); {65465#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 24)))} is VALID [2022-04-28 10:42:17,744 INFO L290 TraceCheckUtils]: 58: Hoare triple {65472#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 33 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {65465#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 24)))} is VALID [2022-04-28 10:42:17,744 INFO L290 TraceCheckUtils]: 57: Hoare triple {65472#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 33 |student_version_#in~w|))} assume !!(~i~1 < ~w); {65472#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 33 |student_version_#in~w|))} is VALID [2022-04-28 10:42:17,745 INFO L290 TraceCheckUtils]: 56: Hoare triple {65479#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} ~i~1 := 2 + ~i~1; {65472#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 33 |student_version_#in~w|))} is VALID [2022-04-28 10:42:17,745 INFO L290 TraceCheckUtils]: 55: Hoare triple {65479#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} assume !!(~i~1 < ~w); {65479#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} is VALID [2022-04-28 10:42:17,746 INFO L290 TraceCheckUtils]: 54: Hoare triple {65486#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 30 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {65479#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} is VALID [2022-04-28 10:42:17,746 INFO L290 TraceCheckUtils]: 53: Hoare triple {65486#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 30 student_version_~i~1)))} assume !!(~i~1 < ~w); {65486#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 30 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,746 INFO L290 TraceCheckUtils]: 52: Hoare triple {65493#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 32 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {65486#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 30 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,747 INFO L290 TraceCheckUtils]: 51: Hoare triple {65493#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 32 student_version_~i~1)))} assume !!(~i~1 < ~w); {65493#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 32 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,747 INFO L290 TraceCheckUtils]: 50: Hoare triple {65500#(or (<= 33 |student_version_#in~w|) (<= student_version_~w 32))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {65493#(or (<= 33 |student_version_#in~w|) (<= student_version_~w (+ 32 student_version_~i~1)))} is VALID [2022-04-28 10:42:17,747 INFO L290 TraceCheckUtils]: 49: Hoare triple {64900#true} ~w := #in~w;~is_divisible~1 := ~true~0; {65500#(or (<= 33 |student_version_#in~w|) (<= student_version_~w 32))} is VALID [2022-04-28 10:42:17,747 INFO L272 TraceCheckUtils]: 48: Hoare triple {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {64900#true} is VALID [2022-04-28 10:42:17,748 INFO L290 TraceCheckUtils]: 47: Hoare triple {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} is VALID [2022-04-28 10:42:17,749 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {65006#(<= |correct_version_#in~w| 32)} {64900#true} #87#return; {64944#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 32)))} is VALID [2022-04-28 10:42:17,749 INFO L290 TraceCheckUtils]: 45: Hoare triple {65006#(<= |correct_version_#in~w| 32)} assume true; {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:17,749 INFO L290 TraceCheckUtils]: 44: Hoare triple {65006#(<= |correct_version_#in~w| 32)} #res := ~is_divisible~0; {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:17,750 INFO L290 TraceCheckUtils]: 43: Hoare triple {65006#(<= |correct_version_#in~w| 32)} assume !(~i~0 != ~w); {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:17,750 INFO L290 TraceCheckUtils]: 42: Hoare triple {65525#(or (<= |correct_version_#in~w| 32) (< correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {65006#(<= |correct_version_#in~w| 32)} is VALID [2022-04-28 10:42:17,750 INFO L290 TraceCheckUtils]: 41: Hoare triple {65529#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {65525#(or (<= |correct_version_#in~w| 32) (< correct_version_~i~0 correct_version_~w))} is VALID [2022-04-28 10:42:17,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {65529#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {65529#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-28 10:42:17,751 INFO L290 TraceCheckUtils]: 39: Hoare triple {65536#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {65529#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-28 10:42:17,752 INFO L290 TraceCheckUtils]: 38: Hoare triple {65536#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {65536#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-28 10:42:17,752 INFO L290 TraceCheckUtils]: 37: Hoare triple {65543#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 32))} ~i~0 := 2 + ~i~0; {65536#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-28 10:42:17,752 INFO L290 TraceCheckUtils]: 36: Hoare triple {65543#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 32))} assume !!(~i~0 < ~w); {65543#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {65550#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {65543#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,753 INFO L290 TraceCheckUtils]: 34: Hoare triple {65550#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {65550#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-28 10:42:17,754 INFO L290 TraceCheckUtils]: 33: Hoare triple {65557#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {65550#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-28 10:42:17,754 INFO L290 TraceCheckUtils]: 32: Hoare triple {65557#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {65557#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-28 10:42:17,754 INFO L290 TraceCheckUtils]: 31: Hoare triple {65564#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 32))} ~i~0 := 2 + ~i~0; {65557#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-28 10:42:17,755 INFO L290 TraceCheckUtils]: 30: Hoare triple {65564#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 32))} assume !!(~i~0 < ~w); {65564#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,755 INFO L290 TraceCheckUtils]: 29: Hoare triple {65571#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {65564#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,755 INFO L290 TraceCheckUtils]: 28: Hoare triple {65571#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {65571#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-28 10:42:17,756 INFO L290 TraceCheckUtils]: 27: Hoare triple {65578#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {65571#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-28 10:42:17,756 INFO L290 TraceCheckUtils]: 26: Hoare triple {65578#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {65578#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-28 10:42:17,757 INFO L290 TraceCheckUtils]: 25: Hoare triple {65585#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {65578#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-28 10:42:17,757 INFO L290 TraceCheckUtils]: 24: Hoare triple {65585#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {65585#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-28 10:42:17,757 INFO L290 TraceCheckUtils]: 23: Hoare triple {65592#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 32))} ~i~0 := 2 + ~i~0; {65585#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-28 10:42:17,758 INFO L290 TraceCheckUtils]: 22: Hoare triple {65592#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 32))} assume !!(~i~0 < ~w); {65592#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,758 INFO L290 TraceCheckUtils]: 21: Hoare triple {65599#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {65592#(or (< (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,758 INFO L290 TraceCheckUtils]: 20: Hoare triple {65599#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {65599#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-28 10:42:17,759 INFO L290 TraceCheckUtils]: 19: Hoare triple {65606#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 32))} ~i~0 := 2 + ~i~0; {65599#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-28 10:42:17,759 INFO L290 TraceCheckUtils]: 18: Hoare triple {65606#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 32))} assume !!(~i~0 < ~w); {65606#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {65613#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 32))} ~i~0 := 2 + ~i~0; {65606#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,760 INFO L290 TraceCheckUtils]: 16: Hoare triple {65613#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 32))} assume !!(~i~0 < ~w); {65613#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,760 INFO L290 TraceCheckUtils]: 15: Hoare triple {65620#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 32))} ~i~0 := 2 + ~i~0; {65613#(or (< (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,761 INFO L290 TraceCheckUtils]: 14: Hoare triple {65620#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 32))} assume !!(~i~0 < ~w); {65620#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,761 INFO L290 TraceCheckUtils]: 13: Hoare triple {65627#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 30) correct_version_~w))} ~i~0 := 2 + ~i~0; {65620#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 32))} is VALID [2022-04-28 10:42:17,761 INFO L290 TraceCheckUtils]: 12: Hoare triple {65627#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 30) correct_version_~w))} assume !!(~i~0 < ~w); {65627#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 30) correct_version_~w))} is VALID [2022-04-28 10:42:17,762 INFO L290 TraceCheckUtils]: 11: Hoare triple {65634#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 32) correct_version_~w))} ~i~0 := 2 + ~i~0; {65627#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 30) correct_version_~w))} is VALID [2022-04-28 10:42:17,762 INFO L290 TraceCheckUtils]: 10: Hoare triple {65634#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 32) correct_version_~w))} assume !!(~i~0 < ~w); {65634#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 32) correct_version_~w))} is VALID [2022-04-28 10:42:17,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {65641#(or (<= |correct_version_#in~w| 32) (< 32 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {65634#(or (<= |correct_version_#in~w| 32) (< (+ correct_version_~i~0 32) correct_version_~w))} is VALID [2022-04-28 10:42:17,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {64900#true} ~w := #in~w;~is_divisible~0 := ~true~0; {65641#(or (<= |correct_version_#in~w| 32) (< 32 correct_version_~w))} is VALID [2022-04-28 10:42:17,763 INFO L272 TraceCheckUtils]: 7: Hoare triple {64900#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {64900#true} is VALID [2022-04-28 10:42:17,763 INFO L290 TraceCheckUtils]: 6: Hoare triple {64900#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {64900#true} is VALID [2022-04-28 10:42:17,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {64900#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {64900#true} is VALID [2022-04-28 10:42:17,763 INFO L272 TraceCheckUtils]: 4: Hoare triple {64900#true} call #t~ret7 := main(); {64900#true} is VALID [2022-04-28 10:42:17,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {64900#true} {64900#true} #93#return; {64900#true} is VALID [2022-04-28 10:42:17,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {64900#true} assume true; {64900#true} is VALID [2022-04-28 10:42:17,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {64900#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {64900#true} is VALID [2022-04-28 10:42:17,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {64900#true} call ULTIMATE.init(); {64900#true} is VALID [2022-04-28 10:42:17,763 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 289 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:17,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [573457351] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:42:17,764 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:42:17,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [44, 41, 41] total 116 [2022-04-28 10:42:17,764 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:42:17,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1008728856] [2022-04-28 10:42:17,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1008728856] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:42:17,764 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:42:17,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [44] imperfect sequences [] total 44 [2022-04-28 10:42:17,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [449820466] [2022-04-28 10:42:17,764 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:42:17,764 INFO L78 Accepts]: Start accepts. Automaton has has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 95 [2022-04-28 10:42:17,765 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:42:17,765 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:17,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:17,823 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 44 states [2022-04-28 10:42:17,823 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:17,823 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2022-04-28 10:42:17,824 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2217, Invalid=11123, Unknown=0, NotChecked=0, Total=13340 [2022-04-28 10:42:17,824 INFO L87 Difference]: Start difference. First operand 108 states and 113 transitions. Second operand has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:21,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:21,281 INFO L93 Difference]: Finished difference Result 123 states and 128 transitions. [2022-04-28 10:42:21,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2022-04-28 10:42:21,281 INFO L78 Accepts]: Start accepts. Automaton has has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 95 [2022-04-28 10:42:21,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:42:21,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:21,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 120 transitions. [2022-04-28 10:42:21,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:21,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 120 transitions. [2022-04-28 10:42:21,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 120 transitions. [2022-04-28 10:42:21,373 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-28 10:42:21,374 INFO L225 Difference]: With dead ends: 123 [2022-04-28 10:42:21,374 INFO L226 Difference]: Without dead ends: 111 [2022-04-28 10:42:21,388 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 275 GetRequests, 117 SyntacticMatches, 5 SemanticMatches, 153 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11191 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=3767, Invalid=20103, Unknown=0, NotChecked=0, Total=23870 [2022-04-28 10:42:21,388 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 106 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 676 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 109 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 725 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 676 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:42:21,388 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [109 Valid, 77 Invalid, 725 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 676 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:42:21,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-28 10:42:22,624 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 107. [2022-04-28 10:42:22,624 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:42:22,624 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 107 states, 95 states have (on average 1.0526315789473684) internal successors, (100), 97 states have internal predecessors, (100), 6 states have call successors, (6), 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-28 10:42:22,624 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 107 states, 95 states have (on average 1.0526315789473684) internal successors, (100), 97 states have internal predecessors, (100), 6 states have call successors, (6), 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-28 10:42:22,624 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 107 states, 95 states have (on average 1.0526315789473684) internal successors, (100), 97 states have internal predecessors, (100), 6 states have call successors, (6), 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-28 10:42:22,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:22,625 INFO L93 Difference]: Finished difference Result 111 states and 115 transitions. [2022-04-28 10:42:22,625 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 115 transitions. [2022-04-28 10:42:22,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:22,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:22,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 95 states have (on average 1.0526315789473684) internal successors, (100), 97 states have internal predecessors, (100), 6 states have call successors, (6), 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 111 states. [2022-04-28 10:42:22,626 INFO L87 Difference]: Start difference. First operand has 107 states, 95 states have (on average 1.0526315789473684) internal successors, (100), 97 states have internal predecessors, (100), 6 states have call successors, (6), 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 111 states. [2022-04-28 10:42:22,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:22,627 INFO L93 Difference]: Finished difference Result 111 states and 115 transitions. [2022-04-28 10:42:22,627 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 115 transitions. [2022-04-28 10:42:22,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:22,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:22,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:42:22,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:42:22,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 95 states have (on average 1.0526315789473684) internal successors, (100), 97 states have internal predecessors, (100), 6 states have call successors, (6), 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-28 10:42:22,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 111 transitions. [2022-04-28 10:42:22,628 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 111 transitions. Word has length 95 [2022-04-28 10:42:22,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:42:22,628 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 111 transitions. [2022-04-28 10:42:22,628 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:22,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 107 states and 111 transitions. [2022-04-28 10:42:22,898 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:22,898 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 111 transitions. [2022-04-28 10:42:22,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-28 10:42:22,898 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:42:22,898 INFO L195 NwaCegarLoop]: trace histogram [17, 17, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:42:22,917 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Ended with exit code 0 [2022-04-28 10:42:23,099 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 64 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable66 [2022-04-28 10:42:23,099 INFO L420 AbstractCegarLoop]: === Iteration 68 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:42:23,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:42:23,099 INFO L85 PathProgramCache]: Analyzing trace with hash 1943878037, now seen corresponding path program 61 times [2022-04-28 10:42:23,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:23,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2093133021] [2022-04-28 10:42:23,102 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:42:23,102 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:42:23,102 INFO L85 PathProgramCache]: Analyzing trace with hash 1943878037, now seen corresponding path program 62 times [2022-04-28 10:42:23,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:42:23,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [710613439] [2022-04-28 10:42:23,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:42:23,102 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:42:23,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:23,146 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:42:23,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:23,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {66514#(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; {66428#true} is VALID [2022-04-28 10:42:23,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {66428#true} assume true; {66428#true} is VALID [2022-04-28 10:42:23,149 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66428#true} {66428#true} #93#return; {66428#true} is VALID [2022-04-28 10:42:23,149 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:42:23,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:23,421 INFO L290 TraceCheckUtils]: 0: Hoare triple {66428#true} ~w := #in~w;~is_divisible~0 := ~true~0; {66515#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:23,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {66515#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {66516#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {66516#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {66516#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,422 INFO L290 TraceCheckUtils]: 3: Hoare triple {66516#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66517#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,422 INFO L290 TraceCheckUtils]: 4: Hoare triple {66517#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {66517#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,423 INFO L290 TraceCheckUtils]: 5: Hoare triple {66517#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66518#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,423 INFO L290 TraceCheckUtils]: 6: Hoare triple {66518#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66518#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {66518#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66519#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {66519#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66519#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {66519#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66520#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,424 INFO L290 TraceCheckUtils]: 10: Hoare triple {66520#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66520#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {66520#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66521#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,425 INFO L290 TraceCheckUtils]: 12: Hoare triple {66521#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66521#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {66521#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66522#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {66522#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {66522#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {66522#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66523#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {66523#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66523#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,427 INFO L290 TraceCheckUtils]: 17: Hoare triple {66523#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66524#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {66524#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {66524#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {66524#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66525#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,428 INFO L290 TraceCheckUtils]: 20: Hoare triple {66525#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66525#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,428 INFO L290 TraceCheckUtils]: 21: Hoare triple {66525#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66526#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,429 INFO L290 TraceCheckUtils]: 22: Hoare triple {66526#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66526#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,429 INFO L290 TraceCheckUtils]: 23: Hoare triple {66526#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66527#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,429 INFO L290 TraceCheckUtils]: 24: Hoare triple {66527#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66527#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,430 INFO L290 TraceCheckUtils]: 25: Hoare triple {66527#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66528#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,430 INFO L290 TraceCheckUtils]: 26: Hoare triple {66528#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66528#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,431 INFO L290 TraceCheckUtils]: 27: Hoare triple {66528#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66529#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,431 INFO L290 TraceCheckUtils]: 28: Hoare triple {66529#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {66529#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,431 INFO L290 TraceCheckUtils]: 29: Hoare triple {66529#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66530#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {66530#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {66530#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {66530#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66531#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,432 INFO L290 TraceCheckUtils]: 32: Hoare triple {66531#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66531#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,433 INFO L290 TraceCheckUtils]: 33: Hoare triple {66531#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66532#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,433 INFO L290 TraceCheckUtils]: 34: Hoare triple {66532#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,433 INFO L290 TraceCheckUtils]: 35: Hoare triple {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,434 INFO L290 TraceCheckUtils]: 36: Hoare triple {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,434 INFO L290 TraceCheckUtils]: 37: Hoare triple {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:23,434 INFO L290 TraceCheckUtils]: 38: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} #res := ~is_divisible~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:23,434 INFO L290 TraceCheckUtils]: 39: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} assume true; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:23,435 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {66534#(<= 33 |correct_version_#in~w|)} {66428#true} #87#return; {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} is VALID [2022-04-28 10:42:23,436 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 10:42:23,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:23,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {66428#true} ~w := #in~w;~is_divisible~1 := ~true~0; {66535#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:23,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {66535#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {66536#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:23,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {66536#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {66536#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:23,903 INFO L290 TraceCheckUtils]: 3: Hoare triple {66536#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {66537#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,903 INFO L290 TraceCheckUtils]: 4: Hoare triple {66537#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66537#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {66537#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66538#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,904 INFO L290 TraceCheckUtils]: 6: Hoare triple {66538#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66538#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {66538#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:23,905 INFO L290 TraceCheckUtils]: 8: Hoare triple {66539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {66539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:23,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {66539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {66540#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,906 INFO L290 TraceCheckUtils]: 10: Hoare triple {66540#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66540#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,906 INFO L290 TraceCheckUtils]: 11: Hoare triple {66540#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:23,907 INFO L290 TraceCheckUtils]: 12: Hoare triple {66541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {66541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:23,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {66541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {66542#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {66542#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66542#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {66542#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:23,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {66543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {66543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:23,908 INFO L290 TraceCheckUtils]: 17: Hoare triple {66543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {66544#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:23,909 INFO L290 TraceCheckUtils]: 18: Hoare triple {66544#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {66544#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:23,909 INFO L290 TraceCheckUtils]: 19: Hoare triple {66544#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {66545#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:23,910 INFO L290 TraceCheckUtils]: 20: Hoare triple {66545#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {66545#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:23,910 INFO L290 TraceCheckUtils]: 21: Hoare triple {66545#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {66546#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,910 INFO L290 TraceCheckUtils]: 22: Hoare triple {66546#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66546#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,911 INFO L290 TraceCheckUtils]: 23: Hoare triple {66546#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:23,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {66547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {66547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:23,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {66547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {66548#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:23,912 INFO L290 TraceCheckUtils]: 26: Hoare triple {66548#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {66548#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:23,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {66548#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {66549#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,913 INFO L290 TraceCheckUtils]: 28: Hoare triple {66549#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66549#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,913 INFO L290 TraceCheckUtils]: 29: Hoare triple {66549#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66550#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,914 INFO L290 TraceCheckUtils]: 30: Hoare triple {66550#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66550#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,914 INFO L290 TraceCheckUtils]: 31: Hoare triple {66550#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66551#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:23,914 INFO L290 TraceCheckUtils]: 32: Hoare triple {66551#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {66551#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:23,915 INFO L290 TraceCheckUtils]: 33: Hoare triple {66551#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {66552#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,915 INFO L290 TraceCheckUtils]: 34: Hoare triple {66552#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {66553#(and (<= student_version_~w 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,916 INFO L290 TraceCheckUtils]: 35: Hoare triple {66553#(and (<= student_version_~w 32) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:23,916 INFO L290 TraceCheckUtils]: 36: Hoare triple {66554#(<= |student_version_#in~w| 32)} #res := ~is_divisible~1; {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:23,916 INFO L290 TraceCheckUtils]: 37: Hoare triple {66554#(<= |student_version_#in~w| 32)} assume true; {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:23,917 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {66554#(<= |student_version_#in~w| 32)} {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} #89#return; {66429#false} is VALID [2022-04-28 10:42:23,918 INFO L272 TraceCheckUtils]: 0: Hoare triple {66428#true} call ULTIMATE.init(); {66514#(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-28 10:42:23,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {66514#(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; {66428#true} is VALID [2022-04-28 10:42:23,918 INFO L290 TraceCheckUtils]: 2: Hoare triple {66428#true} assume true; {66428#true} is VALID [2022-04-28 10:42:23,918 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66428#true} {66428#true} #93#return; {66428#true} is VALID [2022-04-28 10:42:23,918 INFO L272 TraceCheckUtils]: 4: Hoare triple {66428#true} call #t~ret7 := main(); {66428#true} is VALID [2022-04-28 10:42:23,918 INFO L290 TraceCheckUtils]: 5: Hoare triple {66428#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {66428#true} is VALID [2022-04-28 10:42:23,918 INFO L290 TraceCheckUtils]: 6: Hoare triple {66428#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {66428#true} is VALID [2022-04-28 10:42:23,918 INFO L272 TraceCheckUtils]: 7: Hoare triple {66428#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {66428#true} is VALID [2022-04-28 10:42:23,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {66428#true} ~w := #in~w;~is_divisible~0 := ~true~0; {66515#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:23,919 INFO L290 TraceCheckUtils]: 9: Hoare triple {66515#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {66516#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,919 INFO L290 TraceCheckUtils]: 10: Hoare triple {66516#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {66516#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,919 INFO L290 TraceCheckUtils]: 11: Hoare triple {66516#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66517#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,920 INFO L290 TraceCheckUtils]: 12: Hoare triple {66517#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {66517#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,920 INFO L290 TraceCheckUtils]: 13: Hoare triple {66517#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66518#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {66518#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66518#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {66518#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66519#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,921 INFO L290 TraceCheckUtils]: 16: Hoare triple {66519#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66519#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,922 INFO L290 TraceCheckUtils]: 17: Hoare triple {66519#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66520#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {66520#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66520#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,923 INFO L290 TraceCheckUtils]: 19: Hoare triple {66520#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66521#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,923 INFO L290 TraceCheckUtils]: 20: Hoare triple {66521#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66521#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,923 INFO L290 TraceCheckUtils]: 21: Hoare triple {66521#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66522#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,924 INFO L290 TraceCheckUtils]: 22: Hoare triple {66522#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {66522#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,924 INFO L290 TraceCheckUtils]: 23: Hoare triple {66522#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66523#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {66523#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66523#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {66523#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66524#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,925 INFO L290 TraceCheckUtils]: 26: Hoare triple {66524#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {66524#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,926 INFO L290 TraceCheckUtils]: 27: Hoare triple {66524#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66525#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,926 INFO L290 TraceCheckUtils]: 28: Hoare triple {66525#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66525#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,927 INFO L290 TraceCheckUtils]: 29: Hoare triple {66525#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66526#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,927 INFO L290 TraceCheckUtils]: 30: Hoare triple {66526#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66526#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,927 INFO L290 TraceCheckUtils]: 31: Hoare triple {66526#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66527#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,928 INFO L290 TraceCheckUtils]: 32: Hoare triple {66527#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66527#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,928 INFO L290 TraceCheckUtils]: 33: Hoare triple {66527#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66528#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,928 INFO L290 TraceCheckUtils]: 34: Hoare triple {66528#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66528#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,929 INFO L290 TraceCheckUtils]: 35: Hoare triple {66528#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66529#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,929 INFO L290 TraceCheckUtils]: 36: Hoare triple {66529#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {66529#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,930 INFO L290 TraceCheckUtils]: 37: Hoare triple {66529#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66530#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,930 INFO L290 TraceCheckUtils]: 38: Hoare triple {66530#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {66530#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:23,931 INFO L290 TraceCheckUtils]: 39: Hoare triple {66530#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66531#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,931 INFO L290 TraceCheckUtils]: 40: Hoare triple {66531#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66531#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,931 INFO L290 TraceCheckUtils]: 41: Hoare triple {66531#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66532#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,932 INFO L290 TraceCheckUtils]: 42: Hoare triple {66532#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,932 INFO L290 TraceCheckUtils]: 43: Hoare triple {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,933 INFO L290 TraceCheckUtils]: 44: Hoare triple {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:23,933 INFO L290 TraceCheckUtils]: 45: Hoare triple {66533#(and (<= 33 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:23,933 INFO L290 TraceCheckUtils]: 46: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} #res := ~is_divisible~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:23,934 INFO L290 TraceCheckUtils]: 47: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} assume true; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:23,935 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {66534#(<= 33 |correct_version_#in~w|)} {66428#true} #87#return; {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} is VALID [2022-04-28 10:42:23,935 INFO L290 TraceCheckUtils]: 49: Hoare triple {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} is VALID [2022-04-28 10:42:23,935 INFO L272 TraceCheckUtils]: 50: Hoare triple {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) 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)); {66428#true} is VALID [2022-04-28 10:42:23,935 INFO L290 TraceCheckUtils]: 51: Hoare triple {66428#true} ~w := #in~w;~is_divisible~1 := ~true~0; {66535#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:23,936 INFO L290 TraceCheckUtils]: 52: Hoare triple {66535#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {66536#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:23,936 INFO L290 TraceCheckUtils]: 53: Hoare triple {66536#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {66536#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:23,937 INFO L290 TraceCheckUtils]: 54: Hoare triple {66536#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {66537#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,937 INFO L290 TraceCheckUtils]: 55: Hoare triple {66537#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66537#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,937 INFO L290 TraceCheckUtils]: 56: Hoare triple {66537#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66538#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,938 INFO L290 TraceCheckUtils]: 57: Hoare triple {66538#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66538#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,938 INFO L290 TraceCheckUtils]: 58: Hoare triple {66538#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:23,939 INFO L290 TraceCheckUtils]: 59: Hoare triple {66539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {66539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:23,939 INFO L290 TraceCheckUtils]: 60: Hoare triple {66539#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {66540#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,940 INFO L290 TraceCheckUtils]: 61: Hoare triple {66540#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66540#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,940 INFO L290 TraceCheckUtils]: 62: Hoare triple {66540#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:23,940 INFO L290 TraceCheckUtils]: 63: Hoare triple {66541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {66541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:23,941 INFO L290 TraceCheckUtils]: 64: Hoare triple {66541#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {66542#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,941 INFO L290 TraceCheckUtils]: 65: Hoare triple {66542#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66542#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,942 INFO L290 TraceCheckUtils]: 66: Hoare triple {66542#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:23,942 INFO L290 TraceCheckUtils]: 67: Hoare triple {66543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {66543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:23,943 INFO L290 TraceCheckUtils]: 68: Hoare triple {66543#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {66544#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:23,943 INFO L290 TraceCheckUtils]: 69: Hoare triple {66544#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {66544#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:23,943 INFO L290 TraceCheckUtils]: 70: Hoare triple {66544#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {66545#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:23,944 INFO L290 TraceCheckUtils]: 71: Hoare triple {66545#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {66545#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:23,944 INFO L290 TraceCheckUtils]: 72: Hoare triple {66545#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {66546#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,945 INFO L290 TraceCheckUtils]: 73: Hoare triple {66546#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66546#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,945 INFO L290 TraceCheckUtils]: 74: Hoare triple {66546#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:23,945 INFO L290 TraceCheckUtils]: 75: Hoare triple {66547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {66547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:23,946 INFO L290 TraceCheckUtils]: 76: Hoare triple {66547#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {66548#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:23,946 INFO L290 TraceCheckUtils]: 77: Hoare triple {66548#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {66548#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:23,947 INFO L290 TraceCheckUtils]: 78: Hoare triple {66548#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {66549#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,947 INFO L290 TraceCheckUtils]: 79: Hoare triple {66549#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66549#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,947 INFO L290 TraceCheckUtils]: 80: Hoare triple {66549#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66550#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,948 INFO L290 TraceCheckUtils]: 81: Hoare triple {66550#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {66550#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,948 INFO L290 TraceCheckUtils]: 82: Hoare triple {66550#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {66551#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:23,949 INFO L290 TraceCheckUtils]: 83: Hoare triple {66551#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {66551#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:23,949 INFO L290 TraceCheckUtils]: 84: Hoare triple {66551#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {66552#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,950 INFO L290 TraceCheckUtils]: 85: Hoare triple {66552#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {66553#(and (<= student_version_~w 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:23,950 INFO L290 TraceCheckUtils]: 86: Hoare triple {66553#(and (<= student_version_~w 32) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:23,950 INFO L290 TraceCheckUtils]: 87: Hoare triple {66554#(<= |student_version_#in~w| 32)} #res := ~is_divisible~1; {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:23,950 INFO L290 TraceCheckUtils]: 88: Hoare triple {66554#(<= |student_version_#in~w| 32)} assume true; {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:23,951 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {66554#(<= |student_version_#in~w| 32)} {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} #89#return; {66429#false} is VALID [2022-04-28 10:42:23,952 INFO L290 TraceCheckUtils]: 90: Hoare triple {66429#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {66429#false} is VALID [2022-04-28 10:42:23,952 INFO L272 TraceCheckUtils]: 91: Hoare triple {66429#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {66429#false} is VALID [2022-04-28 10:42:23,952 INFO L290 TraceCheckUtils]: 92: Hoare triple {66429#false} ~cond := #in~cond; {66429#false} is VALID [2022-04-28 10:42:23,952 INFO L290 TraceCheckUtils]: 93: Hoare triple {66429#false} assume 0 == ~cond; {66429#false} is VALID [2022-04-28 10:42:23,952 INFO L290 TraceCheckUtils]: 94: Hoare triple {66429#false} assume !false; {66429#false} is VALID [2022-04-28 10:42:23,952 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 256 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:23,952 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:42:23,952 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [710613439] [2022-04-28 10:42:23,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [710613439] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:42:23,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [425793937] [2022-04-28 10:42:23,953 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:42:23,953 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:42:23,953 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:42:23,954 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:42:23,955 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Waiting until timeout for monitored process [2022-04-28 10:42:24,144 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:42:24,145 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:42:24,146 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 10:42:24,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:24,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:42:26,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {66428#true} call ULTIMATE.init(); {66428#true} is VALID [2022-04-28 10:42:26,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {66428#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {66428#true} is VALID [2022-04-28 10:42:26,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {66428#true} assume true; {66428#true} is VALID [2022-04-28 10:42:26,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66428#true} {66428#true} #93#return; {66428#true} is VALID [2022-04-28 10:42:26,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {66428#true} call #t~ret7 := main(); {66428#true} is VALID [2022-04-28 10:42:26,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {66428#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {66428#true} is VALID [2022-04-28 10:42:26,164 INFO L290 TraceCheckUtils]: 6: Hoare triple {66428#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {66428#true} is VALID [2022-04-28 10:42:26,164 INFO L272 TraceCheckUtils]: 7: Hoare triple {66428#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {66428#true} is VALID [2022-04-28 10:42:26,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {66428#true} ~w := #in~w;~is_divisible~0 := ~true~0; {66582#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-28 10:42:26,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {66582#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {66586#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,165 INFO L290 TraceCheckUtils]: 10: Hoare triple {66586#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {66586#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {66586#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66593#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,166 INFO L290 TraceCheckUtils]: 12: Hoare triple {66593#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {66593#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {66593#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66600#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {66600#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {66600#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {66600#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66607#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:42:26,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {66607#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {66607#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:42:26,168 INFO L290 TraceCheckUtils]: 17: Hoare triple {66607#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {66614#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {66614#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {66614#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,169 INFO L290 TraceCheckUtils]: 19: Hoare triple {66614#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66621#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:42:26,169 INFO L290 TraceCheckUtils]: 20: Hoare triple {66621#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {66621#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:42:26,169 INFO L290 TraceCheckUtils]: 21: Hoare triple {66621#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {66628#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,170 INFO L290 TraceCheckUtils]: 22: Hoare triple {66628#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {66628#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {66628#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66635#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,170 INFO L290 TraceCheckUtils]: 24: Hoare triple {66635#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {66635#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,171 INFO L290 TraceCheckUtils]: 25: Hoare triple {66635#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66642#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,171 INFO L290 TraceCheckUtils]: 26: Hoare triple {66642#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {66642#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,172 INFO L290 TraceCheckUtils]: 27: Hoare triple {66642#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66649#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,172 INFO L290 TraceCheckUtils]: 28: Hoare triple {66649#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {66649#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,172 INFO L290 TraceCheckUtils]: 29: Hoare triple {66649#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66656#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,173 INFO L290 TraceCheckUtils]: 30: Hoare triple {66656#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {66656#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,173 INFO L290 TraceCheckUtils]: 31: Hoare triple {66656#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66663#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,173 INFO L290 TraceCheckUtils]: 32: Hoare triple {66663#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {66663#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,174 INFO L290 TraceCheckUtils]: 33: Hoare triple {66663#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66670#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {66670#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {66670#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,175 INFO L290 TraceCheckUtils]: 35: Hoare triple {66670#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66677#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,175 INFO L290 TraceCheckUtils]: 36: Hoare triple {66677#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {66677#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,175 INFO L290 TraceCheckUtils]: 37: Hoare triple {66677#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66684#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,176 INFO L290 TraceCheckUtils]: 38: Hoare triple {66684#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {66684#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,176 INFO L290 TraceCheckUtils]: 39: Hoare triple {66684#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66691#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,176 INFO L290 TraceCheckUtils]: 40: Hoare triple {66691#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} assume !!(~i~0 < ~w); {66691#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,177 INFO L290 TraceCheckUtils]: 41: Hoare triple {66691#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {66698#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} is VALID [2022-04-28 10:42:26,177 INFO L290 TraceCheckUtils]: 42: Hoare triple {66698#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} assume !!(~i~0 < ~w); {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:26,177 INFO L290 TraceCheckUtils]: 43: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:26,178 INFO L290 TraceCheckUtils]: 44: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} assume !(~i~0 < ~w); {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:26,178 INFO L290 TraceCheckUtils]: 45: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:26,178 INFO L290 TraceCheckUtils]: 46: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} #res := ~is_divisible~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:26,178 INFO L290 TraceCheckUtils]: 47: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} assume true; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:26,179 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {66534#(<= 33 |correct_version_#in~w|)} {66428#true} #87#return; {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} is VALID [2022-04-28 10:42:26,180 INFO L290 TraceCheckUtils]: 49: Hoare triple {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} is VALID [2022-04-28 10:42:26,180 INFO L272 TraceCheckUtils]: 50: Hoare triple {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) 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)); {66428#true} is VALID [2022-04-28 10:42:26,180 INFO L290 TraceCheckUtils]: 51: Hoare triple {66428#true} ~w := #in~w;~is_divisible~1 := ~true~0; {66729#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:26,180 INFO L290 TraceCheckUtils]: 52: Hoare triple {66729#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {66733#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:26,181 INFO L290 TraceCheckUtils]: 53: Hoare triple {66733#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {66733#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:26,181 INFO L290 TraceCheckUtils]: 54: Hoare triple {66733#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {66740#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:42:26,181 INFO L290 TraceCheckUtils]: 55: Hoare triple {66740#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {66740#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:42:26,182 INFO L290 TraceCheckUtils]: 56: Hoare triple {66740#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {66747#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:42:26,182 INFO L290 TraceCheckUtils]: 57: Hoare triple {66747#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {66747#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:42:26,182 INFO L290 TraceCheckUtils]: 58: Hoare triple {66747#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {66754#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:26,183 INFO L290 TraceCheckUtils]: 59: Hoare triple {66754#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {66754#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:26,183 INFO L290 TraceCheckUtils]: 60: Hoare triple {66754#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {66761#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-28 10:42:26,183 INFO L290 TraceCheckUtils]: 61: Hoare triple {66761#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {66761#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-28 10:42:26,184 INFO L290 TraceCheckUtils]: 62: Hoare triple {66761#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {66768#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:26,184 INFO L290 TraceCheckUtils]: 63: Hoare triple {66768#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {66768#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:26,185 INFO L290 TraceCheckUtils]: 64: Hoare triple {66768#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {66775#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-28 10:42:26,185 INFO L290 TraceCheckUtils]: 65: Hoare triple {66775#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {66775#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-28 10:42:26,185 INFO L290 TraceCheckUtils]: 66: Hoare triple {66775#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {66782#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:26,186 INFO L290 TraceCheckUtils]: 67: Hoare triple {66782#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {66782#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:26,186 INFO L290 TraceCheckUtils]: 68: Hoare triple {66782#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {66789#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:26,186 INFO L290 TraceCheckUtils]: 69: Hoare triple {66789#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {66789#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:26,187 INFO L290 TraceCheckUtils]: 70: Hoare triple {66789#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {66796#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:26,187 INFO L290 TraceCheckUtils]: 71: Hoare triple {66796#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {66796#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:26,187 INFO L290 TraceCheckUtils]: 72: Hoare triple {66796#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {66803#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-28 10:42:26,188 INFO L290 TraceCheckUtils]: 73: Hoare triple {66803#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {66803#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-28 10:42:26,188 INFO L290 TraceCheckUtils]: 74: Hoare triple {66803#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {66810#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:26,189 INFO L290 TraceCheckUtils]: 75: Hoare triple {66810#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {66810#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:26,189 INFO L290 TraceCheckUtils]: 76: Hoare triple {66810#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {66817#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:26,189 INFO L290 TraceCheckUtils]: 77: Hoare triple {66817#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {66817#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:26,190 INFO L290 TraceCheckUtils]: 78: Hoare triple {66817#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {66824#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-28 10:42:26,190 INFO L290 TraceCheckUtils]: 79: Hoare triple {66824#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !!(~i~1 < ~w); {66824#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-28 10:42:26,190 INFO L290 TraceCheckUtils]: 80: Hoare triple {66824#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} ~i~1 := 2 + ~i~1; {66831#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-28 10:42:26,191 INFO L290 TraceCheckUtils]: 81: Hoare triple {66831#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} assume !!(~i~1 < ~w); {66831#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-28 10:42:26,191 INFO L290 TraceCheckUtils]: 82: Hoare triple {66831#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} ~i~1 := 2 + ~i~1; {66838#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:26,191 INFO L290 TraceCheckUtils]: 83: Hoare triple {66838#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {66838#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:26,192 INFO L290 TraceCheckUtils]: 84: Hoare triple {66838#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {66845#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} is VALID [2022-04-28 10:42:26,192 INFO L290 TraceCheckUtils]: 85: Hoare triple {66845#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} assume !(~i~1 < ~w); {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:26,192 INFO L290 TraceCheckUtils]: 86: Hoare triple {66554#(<= |student_version_#in~w| 32)} assume !(~i~1 != ~w); {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:26,193 INFO L290 TraceCheckUtils]: 87: Hoare triple {66554#(<= |student_version_#in~w| 32)} #res := ~is_divisible~1; {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:26,193 INFO L290 TraceCheckUtils]: 88: Hoare triple {66554#(<= |student_version_#in~w| 32)} assume true; {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:26,194 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {66554#(<= |student_version_#in~w| 32)} {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} #89#return; {66429#false} is VALID [2022-04-28 10:42:26,194 INFO L290 TraceCheckUtils]: 90: Hoare triple {66429#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {66429#false} is VALID [2022-04-28 10:42:26,194 INFO L272 TraceCheckUtils]: 91: Hoare triple {66429#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {66429#false} is VALID [2022-04-28 10:42:26,194 INFO L290 TraceCheckUtils]: 92: Hoare triple {66429#false} ~cond := #in~cond; {66429#false} is VALID [2022-04-28 10:42:26,194 INFO L290 TraceCheckUtils]: 93: Hoare triple {66429#false} assume 0 == ~cond; {66429#false} is VALID [2022-04-28 10:42:26,194 INFO L290 TraceCheckUtils]: 94: Hoare triple {66429#false} assume !false; {66429#false} is VALID [2022-04-28 10:42:26,194 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 256 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:26,194 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:42:31,739 INFO L290 TraceCheckUtils]: 94: Hoare triple {66429#false} assume !false; {66429#false} is VALID [2022-04-28 10:42:31,739 INFO L290 TraceCheckUtils]: 93: Hoare triple {66429#false} assume 0 == ~cond; {66429#false} is VALID [2022-04-28 10:42:31,739 INFO L290 TraceCheckUtils]: 92: Hoare triple {66429#false} ~cond := #in~cond; {66429#false} is VALID [2022-04-28 10:42:31,740 INFO L272 TraceCheckUtils]: 91: Hoare triple {66429#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {66429#false} is VALID [2022-04-28 10:42:31,740 INFO L290 TraceCheckUtils]: 90: Hoare triple {66429#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {66429#false} is VALID [2022-04-28 10:42:31,740 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {66554#(<= |student_version_#in~w| 32)} {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} #89#return; {66429#false} is VALID [2022-04-28 10:42:31,741 INFO L290 TraceCheckUtils]: 88: Hoare triple {66554#(<= |student_version_#in~w| 32)} assume true; {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:31,741 INFO L290 TraceCheckUtils]: 87: Hoare triple {66554#(<= |student_version_#in~w| 32)} #res := ~is_divisible~1; {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:31,741 INFO L290 TraceCheckUtils]: 86: Hoare triple {66554#(<= |student_version_#in~w| 32)} assume !(~i~1 != ~w); {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:31,741 INFO L290 TraceCheckUtils]: 85: Hoare triple {66906#(or (<= |student_version_#in~w| 32) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {66554#(<= |student_version_#in~w| 32)} is VALID [2022-04-28 10:42:31,742 INFO L290 TraceCheckUtils]: 84: Hoare triple {66910#(or (<= |student_version_#in~w| 32) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {66906#(or (<= |student_version_#in~w| 32) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-28 10:42:31,742 INFO L290 TraceCheckUtils]: 83: Hoare triple {66910#(or (<= |student_version_#in~w| 32) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {66910#(or (<= |student_version_#in~w| 32) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,743 INFO L290 TraceCheckUtils]: 82: Hoare triple {66917#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {66910#(or (<= |student_version_#in~w| 32) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,743 INFO L290 TraceCheckUtils]: 81: Hoare triple {66917#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {66917#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-28 10:42:31,743 INFO L290 TraceCheckUtils]: 80: Hoare triple {66924#(or (<= |student_version_#in~w| 32) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {66917#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-28 10:42:31,744 INFO L290 TraceCheckUtils]: 79: Hoare triple {66924#(or (<= |student_version_#in~w| 32) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {66924#(or (<= |student_version_#in~w| 32) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,744 INFO L290 TraceCheckUtils]: 78: Hoare triple {66931#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 8) student_version_~w))} ~i~1 := 2 + ~i~1; {66924#(or (<= |student_version_#in~w| 32) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,745 INFO L290 TraceCheckUtils]: 77: Hoare triple {66931#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 8) student_version_~w))} assume !!(~i~1 < ~w); {66931#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-28 10:42:31,745 INFO L290 TraceCheckUtils]: 76: Hoare triple {66938#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {66931#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 8) student_version_~w))} is VALID [2022-04-28 10:42:31,745 INFO L290 TraceCheckUtils]: 75: Hoare triple {66938#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {66938#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-28 10:42:31,746 INFO L290 TraceCheckUtils]: 74: Hoare triple {66945#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {66938#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-28 10:42:31,746 INFO L290 TraceCheckUtils]: 73: Hoare triple {66945#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {66945#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-28 10:42:31,746 INFO L290 TraceCheckUtils]: 72: Hoare triple {66952#(or (<= |student_version_#in~w| 32) (< (+ 14 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {66945#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-28 10:42:31,747 INFO L290 TraceCheckUtils]: 71: Hoare triple {66952#(or (<= |student_version_#in~w| 32) (< (+ 14 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {66952#(or (<= |student_version_#in~w| 32) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,747 INFO L290 TraceCheckUtils]: 70: Hoare triple {66959#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 32))} ~i~1 := 2 + ~i~1; {66952#(or (<= |student_version_#in~w| 32) (< (+ 14 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,748 INFO L290 TraceCheckUtils]: 69: Hoare triple {66959#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 32))} assume !!(~i~1 < ~w); {66959#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 32))} is VALID [2022-04-28 10:42:31,748 INFO L290 TraceCheckUtils]: 68: Hoare triple {66966#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 32))} ~i~1 := 2 + ~i~1; {66959#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 32))} is VALID [2022-04-28 10:42:31,748 INFO L290 TraceCheckUtils]: 67: Hoare triple {66966#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 32))} assume !!(~i~1 < ~w); {66966#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 32))} is VALID [2022-04-28 10:42:31,749 INFO L290 TraceCheckUtils]: 66: Hoare triple {66973#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 32))} ~i~1 := 2 + ~i~1; {66966#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 32))} is VALID [2022-04-28 10:42:31,749 INFO L290 TraceCheckUtils]: 65: Hoare triple {66973#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 32))} assume !!(~i~1 < ~w); {66973#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 32))} is VALID [2022-04-28 10:42:31,749 INFO L290 TraceCheckUtils]: 64: Hoare triple {66980#(or (<= |student_version_#in~w| 32) (< (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {66973#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 32))} is VALID [2022-04-28 10:42:31,750 INFO L290 TraceCheckUtils]: 63: Hoare triple {66980#(or (<= |student_version_#in~w| 32) (< (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {66980#(or (<= |student_version_#in~w| 32) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,750 INFO L290 TraceCheckUtils]: 62: Hoare triple {66987#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 24) student_version_~w))} ~i~1 := 2 + ~i~1; {66980#(or (<= |student_version_#in~w| 32) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,750 INFO L290 TraceCheckUtils]: 61: Hoare triple {66987#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 24) student_version_~w))} assume !!(~i~1 < ~w); {66987#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-28 10:42:31,751 INFO L290 TraceCheckUtils]: 60: Hoare triple {66994#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 26) student_version_~w))} ~i~1 := 2 + ~i~1; {66987#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 24) student_version_~w))} is VALID [2022-04-28 10:42:31,751 INFO L290 TraceCheckUtils]: 59: Hoare triple {66994#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 26) student_version_~w))} assume !!(~i~1 < ~w); {66994#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-28 10:42:31,752 INFO L290 TraceCheckUtils]: 58: Hoare triple {67001#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 28) student_version_~w))} ~i~1 := 2 + ~i~1; {66994#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-28 10:42:31,752 INFO L290 TraceCheckUtils]: 57: Hoare triple {67001#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 28) student_version_~w))} assume !!(~i~1 < ~w); {67001#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-28 10:42:31,752 INFO L290 TraceCheckUtils]: 56: Hoare triple {67008#(or (<= |student_version_#in~w| 32) (< (+ 30 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {67001#(or (<= |student_version_#in~w| 32) (< (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-28 10:42:31,753 INFO L290 TraceCheckUtils]: 55: Hoare triple {67008#(or (<= |student_version_#in~w| 32) (< (+ 30 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {67008#(or (<= |student_version_#in~w| 32) (< (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,753 INFO L290 TraceCheckUtils]: 54: Hoare triple {67015#(or (<= |student_version_#in~w| 32) (< (+ 32 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {67008#(or (<= |student_version_#in~w| 32) (< (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,754 INFO L290 TraceCheckUtils]: 53: Hoare triple {67015#(or (<= |student_version_#in~w| 32) (< (+ 32 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {67015#(or (<= |student_version_#in~w| 32) (< (+ 32 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,754 INFO L290 TraceCheckUtils]: 52: Hoare triple {67022#(or (<= |student_version_#in~w| 32) (< 32 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {67015#(or (<= |student_version_#in~w| 32) (< (+ 32 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:42:31,754 INFO L290 TraceCheckUtils]: 51: Hoare triple {66428#true} ~w := #in~w;~is_divisible~1 := ~true~0; {67022#(or (<= |student_version_#in~w| 32) (< 32 student_version_~w))} is VALID [2022-04-28 10:42:31,754 INFO L272 TraceCheckUtils]: 50: Hoare triple {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) 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)); {66428#true} is VALID [2022-04-28 10:42:31,755 INFO L290 TraceCheckUtils]: 49: Hoare triple {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} is VALID [2022-04-28 10:42:31,755 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {66534#(<= 33 |correct_version_#in~w|)} {66428#true} #87#return; {66474#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 33) main_~w~0))} is VALID [2022-04-28 10:42:31,756 INFO L290 TraceCheckUtils]: 47: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} assume true; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:31,756 INFO L290 TraceCheckUtils]: 46: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} #res := ~is_divisible~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:31,756 INFO L290 TraceCheckUtils]: 45: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:31,757 INFO L290 TraceCheckUtils]: 44: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} assume !(~i~0 < ~w); {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:31,757 INFO L290 TraceCheckUtils]: 43: Hoare triple {66534#(<= 33 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:31,757 INFO L290 TraceCheckUtils]: 42: Hoare triple {67053#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 33 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {66534#(<= 33 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:31,758 INFO L290 TraceCheckUtils]: 41: Hoare triple {67057#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 33 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {67053#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,758 INFO L290 TraceCheckUtils]: 40: Hoare triple {67057#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 33 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {67057#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,758 INFO L290 TraceCheckUtils]: 39: Hoare triple {67064#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 33 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {67057#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,759 INFO L290 TraceCheckUtils]: 38: Hoare triple {67064#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 33 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {67064#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,759 INFO L290 TraceCheckUtils]: 37: Hoare triple {67071#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} ~i~0 := 2 + ~i~0; {67064#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {67071#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} assume !!(~i~0 < ~w); {67071#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-28 10:42:31,760 INFO L290 TraceCheckUtils]: 35: Hoare triple {67078#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 33 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {67071#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 6)))} is VALID [2022-04-28 10:42:31,760 INFO L290 TraceCheckUtils]: 34: Hoare triple {67078#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 33 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {67078#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,761 INFO L290 TraceCheckUtils]: 33: Hoare triple {67085#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} ~i~0 := 2 + ~i~0; {67078#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,761 INFO L290 TraceCheckUtils]: 32: Hoare triple {67085#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} assume !!(~i~0 < ~w); {67085#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-28 10:42:31,761 INFO L290 TraceCheckUtils]: 31: Hoare triple {67092#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {67085#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 10)))} is VALID [2022-04-28 10:42:31,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {67092#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {67092#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:42:31,762 INFO L290 TraceCheckUtils]: 29: Hoare triple {67099#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {67092#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:42:31,762 INFO L290 TraceCheckUtils]: 28: Hoare triple {67099#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {67099#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-28 10:42:31,763 INFO L290 TraceCheckUtils]: 27: Hoare triple {67106#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {67099#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-28 10:42:31,763 INFO L290 TraceCheckUtils]: 26: Hoare triple {67106#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {67106#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-28 10:42:31,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {67113#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} ~i~0 := 2 + ~i~0; {67106#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-28 10:42:31,764 INFO L290 TraceCheckUtils]: 24: Hoare triple {67113#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} assume !!(~i~0 < ~w); {67113#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-28 10:42:31,764 INFO L290 TraceCheckUtils]: 23: Hoare triple {67120#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 33 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {67113#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 18)))} is VALID [2022-04-28 10:42:31,764 INFO L290 TraceCheckUtils]: 22: Hoare triple {67120#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 33 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {67120#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,765 INFO L290 TraceCheckUtils]: 21: Hoare triple {67127#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 33 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {67120#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,765 INFO L290 TraceCheckUtils]: 20: Hoare triple {67127#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 33 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {67127#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,766 INFO L290 TraceCheckUtils]: 19: Hoare triple {67134#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 33 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {67127#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,766 INFO L290 TraceCheckUtils]: 18: Hoare triple {67134#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 33 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {67134#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,766 INFO L290 TraceCheckUtils]: 17: Hoare triple {67141#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} ~i~0 := 2 + ~i~0; {67134#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,767 INFO L290 TraceCheckUtils]: 16: Hoare triple {67141#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} assume !!(~i~0 < ~w); {67141#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} is VALID [2022-04-28 10:42:31,767 INFO L290 TraceCheckUtils]: 15: Hoare triple {67148#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 28)))} ~i~0 := 2 + ~i~0; {67141#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 26)))} is VALID [2022-04-28 10:42:31,767 INFO L290 TraceCheckUtils]: 14: Hoare triple {67148#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 28)))} assume !!(~i~0 < ~w); {67148#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 28)))} is VALID [2022-04-28 10:42:31,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {67155#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 30)))} ~i~0 := 2 + ~i~0; {67148#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 28)))} is VALID [2022-04-28 10:42:31,768 INFO L290 TraceCheckUtils]: 12: Hoare triple {67155#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 30)))} assume !!(~i~0 < ~w); {67155#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 30)))} is VALID [2022-04-28 10:42:31,769 INFO L290 TraceCheckUtils]: 11: Hoare triple {67162#(or (<= correct_version_~w (+ correct_version_~i~0 32)) (<= 33 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {67155#(or (<= 33 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 30)))} is VALID [2022-04-28 10:42:31,769 INFO L290 TraceCheckUtils]: 10: Hoare triple {67162#(or (<= correct_version_~w (+ correct_version_~i~0 32)) (<= 33 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {67162#(or (<= correct_version_~w (+ correct_version_~i~0 32)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,769 INFO L290 TraceCheckUtils]: 9: Hoare triple {67169#(or (<= correct_version_~w 32) (<= 33 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {67162#(or (<= correct_version_~w (+ correct_version_~i~0 32)) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,770 INFO L290 TraceCheckUtils]: 8: Hoare triple {66428#true} ~w := #in~w;~is_divisible~0 := ~true~0; {67169#(or (<= correct_version_~w 32) (<= 33 |correct_version_#in~w|))} is VALID [2022-04-28 10:42:31,770 INFO L272 TraceCheckUtils]: 7: Hoare triple {66428#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {66428#true} is VALID [2022-04-28 10:42:31,770 INFO L290 TraceCheckUtils]: 6: Hoare triple {66428#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {66428#true} is VALID [2022-04-28 10:42:31,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {66428#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {66428#true} is VALID [2022-04-28 10:42:31,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {66428#true} call #t~ret7 := main(); {66428#true} is VALID [2022-04-28 10:42:31,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66428#true} {66428#true} #93#return; {66428#true} is VALID [2022-04-28 10:42:31,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {66428#true} assume true; {66428#true} is VALID [2022-04-28 10:42:31,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {66428#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {66428#true} is VALID [2022-04-28 10:42:31,770 INFO L272 TraceCheckUtils]: 0: Hoare triple {66428#true} call ULTIMATE.init(); {66428#true} is VALID [2022-04-28 10:42:31,770 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 289 proven. 256 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:31,770 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [425793937] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:42:31,770 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:42:31,771 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [44, 41, 41] total 116 [2022-04-28 10:42:31,771 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:42:31,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2093133021] [2022-04-28 10:42:31,771 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2093133021] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:42:31,771 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:42:31,771 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [44] imperfect sequences [] total 44 [2022-04-28 10:42:31,771 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1879273560] [2022-04-28 10:42:31,771 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:42:31,771 INFO L78 Accepts]: Start accepts. Automaton has has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 95 [2022-04-28 10:42:31,771 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:42:31,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:31,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:31,834 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 44 states [2022-04-28 10:42:31,834 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:31,834 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2022-04-28 10:42:31,835 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2217, Invalid=11123, Unknown=0, NotChecked=0, Total=13340 [2022-04-28 10:42:31,835 INFO L87 Difference]: Start difference. First operand 107 states and 111 transitions. Second operand has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:35,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:35,398 INFO L93 Difference]: Finished difference Result 117 states and 120 transitions. [2022-04-28 10:42:35,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2022-04-28 10:42:35,399 INFO L78 Accepts]: Start accepts. Automaton has has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 95 [2022-04-28 10:42:35,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:42:35,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:35,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 112 transitions. [2022-04-28 10:42:35,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:35,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 112 transitions. [2022-04-28 10:42:35,400 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 112 transitions. [2022-04-28 10:42:35,484 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:35,486 INFO L225 Difference]: With dead ends: 117 [2022-04-28 10:42:35,486 INFO L226 Difference]: Without dead ends: 107 [2022-04-28 10:42:35,487 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 275 GetRequests, 117 SyntacticMatches, 5 SemanticMatches, 153 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11090 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=3767, Invalid=20103, Unknown=0, NotChecked=0, Total=23870 [2022-04-28 10:42:35,487 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 105 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 819 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 106 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 869 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 819 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:42:35,487 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [106 Valid, 85 Invalid, 869 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 819 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 10:42:35,488 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-28 10:42:36,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 106. [2022-04-28 10:42:36,733 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:42:36,734 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 106 states, 94 states have (on average 1.0425531914893618) internal successors, (98), 96 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-28 10:42:36,734 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 106 states, 94 states have (on average 1.0425531914893618) internal successors, (98), 96 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-28 10:42:36,734 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 106 states, 94 states have (on average 1.0425531914893618) internal successors, (98), 96 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-28 10:42:36,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:36,735 INFO L93 Difference]: Finished difference Result 107 states and 110 transitions. [2022-04-28 10:42:36,735 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 110 transitions. [2022-04-28 10:42:36,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:36,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:36,735 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 94 states have (on average 1.0425531914893618) internal successors, (98), 96 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 107 states. [2022-04-28 10:42:36,735 INFO L87 Difference]: Start difference. First operand has 106 states, 94 states have (on average 1.0425531914893618) internal successors, (98), 96 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 107 states. [2022-04-28 10:42:36,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:36,736 INFO L93 Difference]: Finished difference Result 107 states and 110 transitions. [2022-04-28 10:42:36,736 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 110 transitions. [2022-04-28 10:42:36,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:36,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:36,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:42:36,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:42:36,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 94 states have (on average 1.0425531914893618) internal successors, (98), 96 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-28 10:42:36,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 109 transitions. [2022-04-28 10:42:36,737 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 109 transitions. Word has length 95 [2022-04-28 10:42:36,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:42:36,737 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 109 transitions. [2022-04-28 10:42:36,737 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 44 states, 44 states have (on average 1.9772727272727273) internal successors, (87), 43 states have internal predecessors, (87), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:36,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 109 transitions. [2022-04-28 10:42:36,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:36,992 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 109 transitions. [2022-04-28 10:42:36,992 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 10:42:36,992 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:42:36,992 INFO L195 NwaCegarLoop]: trace histogram [17, 17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:42:37,009 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Ended with exit code 0 [2022-04-28 10:42:37,192 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable67,65 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:42:37,193 INFO L420 AbstractCegarLoop]: === Iteration 69 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:42:37,193 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:42:37,193 INFO L85 PathProgramCache]: Analyzing trace with hash -1992207465, now seen corresponding path program 63 times [2022-04-28 10:42:37,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:37,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [164858897] [2022-04-28 10:42:37,195 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:42:37,195 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:42:37,195 INFO L85 PathProgramCache]: Analyzing trace with hash -1992207465, now seen corresponding path program 64 times [2022-04-28 10:42:37,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:42:37,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [60944054] [2022-04-28 10:42:37,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:42:37,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:42:37,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:37,239 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:42:37,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:37,242 INFO L290 TraceCheckUtils]: 0: Hoare triple {68022#(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; {67934#true} is VALID [2022-04-28 10:42:37,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {67934#true} assume true; {67934#true} is VALID [2022-04-28 10:42:37,242 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67934#true} {67934#true} #93#return; {67934#true} is VALID [2022-04-28 10:42:37,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:42:37,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:37,553 INFO L290 TraceCheckUtils]: 0: Hoare triple {67934#true} ~w := #in~w;~is_divisible~0 := ~true~0; {68023#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:37,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {68023#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {68024#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {68024#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68024#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,554 INFO L290 TraceCheckUtils]: 3: Hoare triple {68024#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68025#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,555 INFO L290 TraceCheckUtils]: 4: Hoare triple {68025#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68025#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {68025#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68026#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,555 INFO L290 TraceCheckUtils]: 6: Hoare triple {68026#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68026#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {68026#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68027#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {68027#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68027#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {68027#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68028#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:37,557 INFO L290 TraceCheckUtils]: 10: Hoare triple {68028#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {68028#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:37,557 INFO L290 TraceCheckUtils]: 11: Hoare triple {68028#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {68029#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {68029#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68029#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,558 INFO L290 TraceCheckUtils]: 13: Hoare triple {68029#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68030#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,558 INFO L290 TraceCheckUtils]: 14: Hoare triple {68030#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68030#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,559 INFO L290 TraceCheckUtils]: 15: Hoare triple {68030#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68031#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:37,559 INFO L290 TraceCheckUtils]: 16: Hoare triple {68031#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {68031#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:37,559 INFO L290 TraceCheckUtils]: 17: Hoare triple {68031#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {68032#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,560 INFO L290 TraceCheckUtils]: 18: Hoare triple {68032#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68032#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,560 INFO L290 TraceCheckUtils]: 19: Hoare triple {68032#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68033#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:37,560 INFO L290 TraceCheckUtils]: 20: Hoare triple {68033#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {68033#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:37,561 INFO L290 TraceCheckUtils]: 21: Hoare triple {68033#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {68034#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,561 INFO L290 TraceCheckUtils]: 22: Hoare triple {68034#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68034#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,561 INFO L290 TraceCheckUtils]: 23: Hoare triple {68034#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68035#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,562 INFO L290 TraceCheckUtils]: 24: Hoare triple {68035#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68035#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,562 INFO L290 TraceCheckUtils]: 25: Hoare triple {68035#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68036#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,562 INFO L290 TraceCheckUtils]: 26: Hoare triple {68036#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68036#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,563 INFO L290 TraceCheckUtils]: 27: Hoare triple {68036#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68037#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,563 INFO L290 TraceCheckUtils]: 28: Hoare triple {68037#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68037#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,564 INFO L290 TraceCheckUtils]: 29: Hoare triple {68037#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68038#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,564 INFO L290 TraceCheckUtils]: 30: Hoare triple {68038#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68038#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {68038#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68039#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,565 INFO L290 TraceCheckUtils]: 32: Hoare triple {68039#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68039#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,565 INFO L290 TraceCheckUtils]: 33: Hoare triple {68039#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68040#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,565 INFO L290 TraceCheckUtils]: 34: Hoare triple {68040#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68040#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {68040#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68041#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 34)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,566 INFO L290 TraceCheckUtils]: 36: Hoare triple {68041#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 34)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {68042#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 34)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {68042#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 34)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:37,567 INFO L290 TraceCheckUtils]: 38: Hoare triple {68043#(<= |correct_version_#in~w| 33)} #res := ~is_divisible~0; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:37,567 INFO L290 TraceCheckUtils]: 39: Hoare triple {68043#(<= |correct_version_#in~w| 33)} assume true; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:37,568 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {68043#(<= |correct_version_#in~w| 33)} {67934#true} #87#return; {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-28 10:42:37,568 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 10:42:37,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:37,909 INFO L290 TraceCheckUtils]: 0: Hoare triple {67934#true} ~w := #in~w;~is_divisible~1 := ~true~0; {68044#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:37,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {68044#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {68045#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {68045#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68045#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,910 INFO L290 TraceCheckUtils]: 3: Hoare triple {68045#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68046#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,910 INFO L290 TraceCheckUtils]: 4: Hoare triple {68046#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68046#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,911 INFO L290 TraceCheckUtils]: 5: Hoare triple {68046#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68047#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:37,911 INFO L290 TraceCheckUtils]: 6: Hoare triple {68047#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {68047#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:37,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {68047#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68048#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:42:37,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {68048#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {68048#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:42:37,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {68048#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68049#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:42:37,912 INFO L290 TraceCheckUtils]: 10: Hoare triple {68049#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {68049#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:42:37,913 INFO L290 TraceCheckUtils]: 11: Hoare triple {68049#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68050#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,913 INFO L290 TraceCheckUtils]: 12: Hoare triple {68050#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68050#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,914 INFO L290 TraceCheckUtils]: 13: Hoare triple {68050#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68051#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:42:37,914 INFO L290 TraceCheckUtils]: 14: Hoare triple {68051#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {68051#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:42:37,914 INFO L290 TraceCheckUtils]: 15: Hoare triple {68051#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68052#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,915 INFO L290 TraceCheckUtils]: 16: Hoare triple {68052#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68052#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,915 INFO L290 TraceCheckUtils]: 17: Hoare triple {68052#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68053#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,915 INFO L290 TraceCheckUtils]: 18: Hoare triple {68053#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68053#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,916 INFO L290 TraceCheckUtils]: 19: Hoare triple {68053#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68054#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,916 INFO L290 TraceCheckUtils]: 20: Hoare triple {68054#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68054#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,917 INFO L290 TraceCheckUtils]: 21: Hoare triple {68054#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68055#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:42:37,917 INFO L290 TraceCheckUtils]: 22: Hoare triple {68055#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {68055#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:42:37,917 INFO L290 TraceCheckUtils]: 23: Hoare triple {68055#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68056#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,918 INFO L290 TraceCheckUtils]: 24: Hoare triple {68056#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68056#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {68056#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68057#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,919 INFO L290 TraceCheckUtils]: 26: Hoare triple {68057#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68057#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,919 INFO L290 TraceCheckUtils]: 27: Hoare triple {68057#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68058#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,919 INFO L290 TraceCheckUtils]: 28: Hoare triple {68058#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68058#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {68058#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68059#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,920 INFO L290 TraceCheckUtils]: 30: Hoare triple {68059#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68059#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,920 INFO L290 TraceCheckUtils]: 31: Hoare triple {68059#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68060#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:42:37,921 INFO L290 TraceCheckUtils]: 32: Hoare triple {68060#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {68060#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:42:37,921 INFO L290 TraceCheckUtils]: 33: Hoare triple {68060#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68061#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,922 INFO L290 TraceCheckUtils]: 34: Hoare triple {68061#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68061#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,922 INFO L290 TraceCheckUtils]: 35: Hoare triple {68061#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68062#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,922 INFO L290 TraceCheckUtils]: 36: Hoare triple {68062#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {68062#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,923 INFO L290 TraceCheckUtils]: 37: Hoare triple {68062#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:37,923 INFO L290 TraceCheckUtils]: 38: Hoare triple {68063#(<= 34 |student_version_#in~w|)} #res := ~is_divisible~1; {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:37,923 INFO L290 TraceCheckUtils]: 39: Hoare triple {68063#(<= 34 |student_version_#in~w|)} assume true; {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:37,924 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {68063#(<= 34 |student_version_#in~w|)} {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {67935#false} is VALID [2022-04-28 10:42:37,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {67934#true} call ULTIMATE.init(); {68022#(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-28 10:42:37,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {68022#(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; {67934#true} is VALID [2022-04-28 10:42:37,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {67934#true} assume true; {67934#true} is VALID [2022-04-28 10:42:37,925 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67934#true} {67934#true} #93#return; {67934#true} is VALID [2022-04-28 10:42:37,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {67934#true} call #t~ret7 := main(); {67934#true} is VALID [2022-04-28 10:42:37,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {67934#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {67934#true} is VALID [2022-04-28 10:42:37,925 INFO L290 TraceCheckUtils]: 6: Hoare triple {67934#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {67934#true} is VALID [2022-04-28 10:42:37,925 INFO L272 TraceCheckUtils]: 7: Hoare triple {67934#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {67934#true} is VALID [2022-04-28 10:42:37,925 INFO L290 TraceCheckUtils]: 8: Hoare triple {67934#true} ~w := #in~w;~is_divisible~0 := ~true~0; {68023#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:37,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {68023#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {68024#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,926 INFO L290 TraceCheckUtils]: 10: Hoare triple {68024#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68024#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,926 INFO L290 TraceCheckUtils]: 11: Hoare triple {68024#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68025#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,926 INFO L290 TraceCheckUtils]: 12: Hoare triple {68025#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68025#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,927 INFO L290 TraceCheckUtils]: 13: Hoare triple {68025#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68026#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {68026#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68026#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {68026#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68027#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,928 INFO L290 TraceCheckUtils]: 16: Hoare triple {68027#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68027#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,928 INFO L290 TraceCheckUtils]: 17: Hoare triple {68027#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68028#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:37,929 INFO L290 TraceCheckUtils]: 18: Hoare triple {68028#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {68028#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:37,929 INFO L290 TraceCheckUtils]: 19: Hoare triple {68028#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {68029#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,929 INFO L290 TraceCheckUtils]: 20: Hoare triple {68029#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68029#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,930 INFO L290 TraceCheckUtils]: 21: Hoare triple {68029#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68030#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {68030#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68030#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,930 INFO L290 TraceCheckUtils]: 23: Hoare triple {68030#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68031#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:37,931 INFO L290 TraceCheckUtils]: 24: Hoare triple {68031#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {68031#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:37,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {68031#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {68032#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {68032#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68032#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,932 INFO L290 TraceCheckUtils]: 27: Hoare triple {68032#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68033#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:37,932 INFO L290 TraceCheckUtils]: 28: Hoare triple {68033#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {68033#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:37,933 INFO L290 TraceCheckUtils]: 29: Hoare triple {68033#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {68034#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,933 INFO L290 TraceCheckUtils]: 30: Hoare triple {68034#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68034#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,933 INFO L290 TraceCheckUtils]: 31: Hoare triple {68034#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68035#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,934 INFO L290 TraceCheckUtils]: 32: Hoare triple {68035#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68035#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,934 INFO L290 TraceCheckUtils]: 33: Hoare triple {68035#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68036#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,934 INFO L290 TraceCheckUtils]: 34: Hoare triple {68036#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68036#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,935 INFO L290 TraceCheckUtils]: 35: Hoare triple {68036#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68037#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,935 INFO L290 TraceCheckUtils]: 36: Hoare triple {68037#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68037#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,935 INFO L290 TraceCheckUtils]: 37: Hoare triple {68037#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68038#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,936 INFO L290 TraceCheckUtils]: 38: Hoare triple {68038#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68038#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,936 INFO L290 TraceCheckUtils]: 39: Hoare triple {68038#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68039#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,936 INFO L290 TraceCheckUtils]: 40: Hoare triple {68039#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68039#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,937 INFO L290 TraceCheckUtils]: 41: Hoare triple {68039#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68040#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,937 INFO L290 TraceCheckUtils]: 42: Hoare triple {68040#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {68040#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,938 INFO L290 TraceCheckUtils]: 43: Hoare triple {68040#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {68041#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 34)) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,938 INFO L290 TraceCheckUtils]: 44: Hoare triple {68041#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 34)) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {68042#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 34)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:37,938 INFO L290 TraceCheckUtils]: 45: Hoare triple {68042#(and (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 34)) (<= correct_version_~w correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:37,939 INFO L290 TraceCheckUtils]: 46: Hoare triple {68043#(<= |correct_version_#in~w| 33)} #res := ~is_divisible~0; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:37,939 INFO L290 TraceCheckUtils]: 47: Hoare triple {68043#(<= |correct_version_#in~w| 33)} assume true; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:37,940 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {68043#(<= |correct_version_#in~w| 33)} {67934#true} #87#return; {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-28 10:42:37,940 INFO L290 TraceCheckUtils]: 49: Hoare triple {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (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; {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-28 10:42:37,940 INFO L272 TraceCheckUtils]: 50: Hoare triple {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (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)); {67934#true} is VALID [2022-04-28 10:42:37,940 INFO L290 TraceCheckUtils]: 51: Hoare triple {67934#true} ~w := #in~w;~is_divisible~1 := ~true~0; {68044#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:37,941 INFO L290 TraceCheckUtils]: 52: Hoare triple {68044#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {68045#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,941 INFO L290 TraceCheckUtils]: 53: Hoare triple {68045#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68045#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,941 INFO L290 TraceCheckUtils]: 54: Hoare triple {68045#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68046#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,942 INFO L290 TraceCheckUtils]: 55: Hoare triple {68046#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68046#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,942 INFO L290 TraceCheckUtils]: 56: Hoare triple {68046#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68047#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:37,942 INFO L290 TraceCheckUtils]: 57: Hoare triple {68047#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {68047#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:37,943 INFO L290 TraceCheckUtils]: 58: Hoare triple {68047#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68048#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:42:37,943 INFO L290 TraceCheckUtils]: 59: Hoare triple {68048#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {68048#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:42:37,944 INFO L290 TraceCheckUtils]: 60: Hoare triple {68048#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68049#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:42:37,944 INFO L290 TraceCheckUtils]: 61: Hoare triple {68049#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {68049#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:42:37,944 INFO L290 TraceCheckUtils]: 62: Hoare triple {68049#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68050#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,945 INFO L290 TraceCheckUtils]: 63: Hoare triple {68050#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68050#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,945 INFO L290 TraceCheckUtils]: 64: Hoare triple {68050#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68051#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:42:37,945 INFO L290 TraceCheckUtils]: 65: Hoare triple {68051#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {68051#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:42:37,946 INFO L290 TraceCheckUtils]: 66: Hoare triple {68051#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68052#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,946 INFO L290 TraceCheckUtils]: 67: Hoare triple {68052#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68052#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,946 INFO L290 TraceCheckUtils]: 68: Hoare triple {68052#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68053#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,947 INFO L290 TraceCheckUtils]: 69: Hoare triple {68053#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68053#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,947 INFO L290 TraceCheckUtils]: 70: Hoare triple {68053#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68054#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,947 INFO L290 TraceCheckUtils]: 71: Hoare triple {68054#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68054#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,948 INFO L290 TraceCheckUtils]: 72: Hoare triple {68054#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68055#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:42:37,948 INFO L290 TraceCheckUtils]: 73: Hoare triple {68055#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {68055#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:42:37,949 INFO L290 TraceCheckUtils]: 74: Hoare triple {68055#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68056#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,949 INFO L290 TraceCheckUtils]: 75: Hoare triple {68056#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68056#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,949 INFO L290 TraceCheckUtils]: 76: Hoare triple {68056#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68057#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,950 INFO L290 TraceCheckUtils]: 77: Hoare triple {68057#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68057#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,950 INFO L290 TraceCheckUtils]: 78: Hoare triple {68057#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68058#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,950 INFO L290 TraceCheckUtils]: 79: Hoare triple {68058#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68058#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,951 INFO L290 TraceCheckUtils]: 80: Hoare triple {68058#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68059#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,951 INFO L290 TraceCheckUtils]: 81: Hoare triple {68059#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68059#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,951 INFO L290 TraceCheckUtils]: 82: Hoare triple {68059#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68060#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:42:37,952 INFO L290 TraceCheckUtils]: 83: Hoare triple {68060#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {68060#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:42:37,952 INFO L290 TraceCheckUtils]: 84: Hoare triple {68060#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68061#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,952 INFO L290 TraceCheckUtils]: 85: Hoare triple {68061#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {68061#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,953 INFO L290 TraceCheckUtils]: 86: Hoare triple {68061#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {68062#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,953 INFO L290 TraceCheckUtils]: 87: Hoare triple {68062#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {68062#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:37,953 INFO L290 TraceCheckUtils]: 88: Hoare triple {68062#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:37,954 INFO L290 TraceCheckUtils]: 89: Hoare triple {68063#(<= 34 |student_version_#in~w|)} #res := ~is_divisible~1; {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:37,954 INFO L290 TraceCheckUtils]: 90: Hoare triple {68063#(<= 34 |student_version_#in~w|)} assume true; {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:37,955 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {68063#(<= 34 |student_version_#in~w|)} {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {67935#false} is VALID [2022-04-28 10:42:37,955 INFO L290 TraceCheckUtils]: 92: Hoare triple {67935#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {67935#false} is VALID [2022-04-28 10:42:37,955 INFO L272 TraceCheckUtils]: 93: Hoare triple {67935#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {67935#false} is VALID [2022-04-28 10:42:37,955 INFO L290 TraceCheckUtils]: 94: Hoare triple {67935#false} ~cond := #in~cond; {67935#false} is VALID [2022-04-28 10:42:37,955 INFO L290 TraceCheckUtils]: 95: Hoare triple {67935#false} assume 0 == ~cond; {67935#false} is VALID [2022-04-28 10:42:37,955 INFO L290 TraceCheckUtils]: 96: Hoare triple {67935#false} assume !false; {67935#false} is VALID [2022-04-28 10:42:37,955 INFO L134 CoverageAnalysis]: Checked inductivity of 578 backedges. 289 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:37,955 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:42:37,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [60944054] [2022-04-28 10:42:37,955 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [60944054] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:42:37,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2128784262] [2022-04-28 10:42:37,956 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:42:37,956 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:42:37,956 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:42:37,956 INFO L229 MonitoredProcess]: Starting monitored process 66 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:42:37,957 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (66)] Waiting until timeout for monitored process [2022-04-28 10:42:38,130 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:42:38,131 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:42:38,132 INFO L263 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 10:42:38,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:38,155 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:42:40,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {67934#true} call ULTIMATE.init(); {67934#true} is VALID [2022-04-28 10:42:40,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {67934#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {67934#true} is VALID [2022-04-28 10:42:40,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {67934#true} assume true; {67934#true} is VALID [2022-04-28 10:42:40,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67934#true} {67934#true} #93#return; {67934#true} is VALID [2022-04-28 10:42:40,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {67934#true} call #t~ret7 := main(); {67934#true} is VALID [2022-04-28 10:42:40,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {67934#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {67934#true} is VALID [2022-04-28 10:42:40,036 INFO L290 TraceCheckUtils]: 6: Hoare triple {67934#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {67934#true} is VALID [2022-04-28 10:42:40,036 INFO L272 TraceCheckUtils]: 7: Hoare triple {67934#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {67934#true} is VALID [2022-04-28 10:42:40,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {67934#true} ~w := #in~w;~is_divisible~0 := ~true~0; {68091#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:40,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {68091#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {68095#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:42:40,037 INFO L290 TraceCheckUtils]: 10: Hoare triple {68095#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {68095#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:42:40,038 INFO L290 TraceCheckUtils]: 11: Hoare triple {68095#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {68102#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:42:40,038 INFO L290 TraceCheckUtils]: 12: Hoare triple {68102#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {68102#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:42:40,039 INFO L290 TraceCheckUtils]: 13: Hoare triple {68102#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {68109#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:42:40,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {68109#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {68109#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:42:40,039 INFO L290 TraceCheckUtils]: 15: Hoare triple {68109#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {68116#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:42:40,040 INFO L290 TraceCheckUtils]: 16: Hoare triple {68116#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {68116#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:42:40,040 INFO L290 TraceCheckUtils]: 17: Hoare triple {68116#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {68123#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:40,040 INFO L290 TraceCheckUtils]: 18: Hoare triple {68123#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {68123#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:42:40,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {68123#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {68130#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:42:40,041 INFO L290 TraceCheckUtils]: 20: Hoare triple {68130#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {68130#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:42:40,041 INFO L290 TraceCheckUtils]: 21: Hoare triple {68130#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {68137#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:42:40,042 INFO L290 TraceCheckUtils]: 22: Hoare triple {68137#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {68137#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:42:40,042 INFO L290 TraceCheckUtils]: 23: Hoare triple {68137#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {68144#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:40,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {68144#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {68144#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:42:40,043 INFO L290 TraceCheckUtils]: 25: Hoare triple {68144#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {68151#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:42:40,043 INFO L290 TraceCheckUtils]: 26: Hoare triple {68151#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {68151#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:42:40,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {68151#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {68158#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:40,044 INFO L290 TraceCheckUtils]: 28: Hoare triple {68158#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {68158#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:42:40,044 INFO L290 TraceCheckUtils]: 29: Hoare triple {68158#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {68165#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:42:40,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {68165#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {68165#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:42:40,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {68165#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {68172#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:42:40,045 INFO L290 TraceCheckUtils]: 32: Hoare triple {68172#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {68172#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:42:40,046 INFO L290 TraceCheckUtils]: 33: Hoare triple {68172#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {68179#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:42:40,046 INFO L290 TraceCheckUtils]: 34: Hoare triple {68179#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {68179#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:42:40,047 INFO L290 TraceCheckUtils]: 35: Hoare triple {68179#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {68186#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:42:40,047 INFO L290 TraceCheckUtils]: 36: Hoare triple {68186#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {68186#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:42:40,047 INFO L290 TraceCheckUtils]: 37: Hoare triple {68186#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {68193#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:42:40,048 INFO L290 TraceCheckUtils]: 38: Hoare triple {68193#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !!(~i~0 < ~w); {68193#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:42:40,048 INFO L290 TraceCheckUtils]: 39: Hoare triple {68193#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} ~i~0 := 2 + ~i~0; {68200#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:42:40,048 INFO L290 TraceCheckUtils]: 40: Hoare triple {68200#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} assume !!(~i~0 < ~w); {68200#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:42:40,049 INFO L290 TraceCheckUtils]: 41: Hoare triple {68200#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} ~i~0 := 2 + ~i~0; {68207#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} is VALID [2022-04-28 10:42:40,049 INFO L290 TraceCheckUtils]: 42: Hoare triple {68207#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} assume !!(~i~0 < ~w); {68207#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} is VALID [2022-04-28 10:42:40,049 INFO L290 TraceCheckUtils]: 43: Hoare triple {68207#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} ~i~0 := 2 + ~i~0; {68214#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 34))} is VALID [2022-04-28 10:42:40,050 INFO L290 TraceCheckUtils]: 44: Hoare triple {68214#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 34))} assume !(~i~0 < ~w); {68218#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 34))} is VALID [2022-04-28 10:42:40,050 INFO L290 TraceCheckUtils]: 45: Hoare triple {68218#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 34))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:40,050 INFO L290 TraceCheckUtils]: 46: Hoare triple {68043#(<= |correct_version_#in~w| 33)} #res := ~is_divisible~0; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:40,051 INFO L290 TraceCheckUtils]: 47: Hoare triple {68043#(<= |correct_version_#in~w| 33)} assume true; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:40,051 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {68043#(<= |correct_version_#in~w| 33)} {67934#true} #87#return; {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-28 10:42:40,052 INFO L290 TraceCheckUtils]: 49: Hoare triple {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (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; {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-28 10:42:40,052 INFO L272 TraceCheckUtils]: 50: Hoare triple {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (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)); {67934#true} is VALID [2022-04-28 10:42:40,052 INFO L290 TraceCheckUtils]: 51: Hoare triple {67934#true} ~w := #in~w;~is_divisible~1 := ~true~0; {68240#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-28 10:42:40,052 INFO L290 TraceCheckUtils]: 52: Hoare triple {68240#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {68244#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,053 INFO L290 TraceCheckUtils]: 53: Hoare triple {68244#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68244#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,053 INFO L290 TraceCheckUtils]: 54: Hoare triple {68244#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68251#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,053 INFO L290 TraceCheckUtils]: 55: Hoare triple {68251#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68251#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,054 INFO L290 TraceCheckUtils]: 56: Hoare triple {68251#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68258#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:40,054 INFO L290 TraceCheckUtils]: 57: Hoare triple {68258#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {68258#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:42:40,055 INFO L290 TraceCheckUtils]: 58: Hoare triple {68258#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {68265#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,055 INFO L290 TraceCheckUtils]: 59: Hoare triple {68265#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68265#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,055 INFO L290 TraceCheckUtils]: 60: Hoare triple {68265#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68272#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,056 INFO L290 TraceCheckUtils]: 61: Hoare triple {68272#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68272#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,056 INFO L290 TraceCheckUtils]: 62: Hoare triple {68272#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68279#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,056 INFO L290 TraceCheckUtils]: 63: Hoare triple {68279#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68279#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,057 INFO L290 TraceCheckUtils]: 64: Hoare triple {68279#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68286#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,057 INFO L290 TraceCheckUtils]: 65: Hoare triple {68286#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68286#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,057 INFO L290 TraceCheckUtils]: 66: Hoare triple {68286#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68293#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,058 INFO L290 TraceCheckUtils]: 67: Hoare triple {68293#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68293#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,058 INFO L290 TraceCheckUtils]: 68: Hoare triple {68293#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68300#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,059 INFO L290 TraceCheckUtils]: 69: Hoare triple {68300#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68300#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,059 INFO L290 TraceCheckUtils]: 70: Hoare triple {68300#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68307#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,059 INFO L290 TraceCheckUtils]: 71: Hoare triple {68307#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68307#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,060 INFO L290 TraceCheckUtils]: 72: Hoare triple {68307#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68314#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,060 INFO L290 TraceCheckUtils]: 73: Hoare triple {68314#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68314#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,060 INFO L290 TraceCheckUtils]: 74: Hoare triple {68314#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68321#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,061 INFO L290 TraceCheckUtils]: 75: Hoare triple {68321#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68321#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,061 INFO L290 TraceCheckUtils]: 76: Hoare triple {68321#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68328#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,061 INFO L290 TraceCheckUtils]: 77: Hoare triple {68328#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68328#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,062 INFO L290 TraceCheckUtils]: 78: Hoare triple {68328#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68335#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,062 INFO L290 TraceCheckUtils]: 79: Hoare triple {68335#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68335#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,063 INFO L290 TraceCheckUtils]: 80: Hoare triple {68335#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68342#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,063 INFO L290 TraceCheckUtils]: 81: Hoare triple {68342#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68342#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,063 INFO L290 TraceCheckUtils]: 82: Hoare triple {68342#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68349#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,064 INFO L290 TraceCheckUtils]: 83: Hoare triple {68349#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68349#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,064 INFO L290 TraceCheckUtils]: 84: Hoare triple {68349#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68356#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,064 INFO L290 TraceCheckUtils]: 85: Hoare triple {68356#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {68356#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,065 INFO L290 TraceCheckUtils]: 86: Hoare triple {68356#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68363#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,065 INFO L290 TraceCheckUtils]: 87: Hoare triple {68363#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {68363#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:42:40,065 INFO L290 TraceCheckUtils]: 88: Hoare triple {68363#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:40,066 INFO L290 TraceCheckUtils]: 89: Hoare triple {68063#(<= 34 |student_version_#in~w|)} #res := ~is_divisible~1; {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:40,066 INFO L290 TraceCheckUtils]: 90: Hoare triple {68063#(<= 34 |student_version_#in~w|)} assume true; {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:40,067 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {68063#(<= 34 |student_version_#in~w|)} {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {67935#false} is VALID [2022-04-28 10:42:40,067 INFO L290 TraceCheckUtils]: 92: Hoare triple {67935#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {67935#false} is VALID [2022-04-28 10:42:40,067 INFO L272 TraceCheckUtils]: 93: Hoare triple {67935#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {67935#false} is VALID [2022-04-28 10:42:40,067 INFO L290 TraceCheckUtils]: 94: Hoare triple {67935#false} ~cond := #in~cond; {67935#false} is VALID [2022-04-28 10:42:40,067 INFO L290 TraceCheckUtils]: 95: Hoare triple {67935#false} assume 0 == ~cond; {67935#false} is VALID [2022-04-28 10:42:40,067 INFO L290 TraceCheckUtils]: 96: Hoare triple {67935#false} assume !false; {67935#false} is VALID [2022-04-28 10:42:40,067 INFO L134 CoverageAnalysis]: Checked inductivity of 578 backedges. 289 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:40,067 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:42:49,187 INFO L290 TraceCheckUtils]: 96: Hoare triple {67935#false} assume !false; {67935#false} is VALID [2022-04-28 10:42:49,187 INFO L290 TraceCheckUtils]: 95: Hoare triple {67935#false} assume 0 == ~cond; {67935#false} is VALID [2022-04-28 10:42:49,188 INFO L290 TraceCheckUtils]: 94: Hoare triple {67935#false} ~cond := #in~cond; {67935#false} is VALID [2022-04-28 10:42:49,188 INFO L272 TraceCheckUtils]: 93: Hoare triple {67935#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {67935#false} is VALID [2022-04-28 10:42:49,188 INFO L290 TraceCheckUtils]: 92: Hoare triple {67935#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {67935#false} is VALID [2022-04-28 10:42:49,189 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {68063#(<= 34 |student_version_#in~w|)} {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} #89#return; {67935#false} is VALID [2022-04-28 10:42:49,189 INFO L290 TraceCheckUtils]: 90: Hoare triple {68063#(<= 34 |student_version_#in~w|)} assume true; {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:49,189 INFO L290 TraceCheckUtils]: 89: Hoare triple {68063#(<= 34 |student_version_#in~w|)} #res := ~is_divisible~1; {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:49,189 INFO L290 TraceCheckUtils]: 88: Hoare triple {68421#(or (<= 34 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 != ~w); {68063#(<= 34 |student_version_#in~w|)} is VALID [2022-04-28 10:42:49,190 INFO L290 TraceCheckUtils]: 87: Hoare triple {68421#(or (<= 34 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} assume !(~i~1 < ~w); {68421#(or (<= 34 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-28 10:42:49,190 INFO L290 TraceCheckUtils]: 86: Hoare triple {68428#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {68421#(or (<= 34 |student_version_#in~w|) (not (<= student_version_~i~1 student_version_~w)))} is VALID [2022-04-28 10:42:49,190 INFO L290 TraceCheckUtils]: 85: Hoare triple {68428#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {68428#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-28 10:42:49,191 INFO L290 TraceCheckUtils]: 84: Hoare triple {68435#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68428#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-28 10:42:49,191 INFO L290 TraceCheckUtils]: 83: Hoare triple {68435#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68435#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,192 INFO L290 TraceCheckUtils]: 82: Hoare triple {68442#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68435#(or (< student_version_~w (+ student_version_~i~1 4)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,192 INFO L290 TraceCheckUtils]: 81: Hoare triple {68442#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68442#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,192 INFO L290 TraceCheckUtils]: 80: Hoare triple {68449#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {68442#(or (< student_version_~w (+ 6 student_version_~i~1)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,193 INFO L290 TraceCheckUtils]: 79: Hoare triple {68449#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {68449#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-28 10:42:49,193 INFO L290 TraceCheckUtils]: 78: Hoare triple {68456#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68449#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-28 10:42:49,193 INFO L290 TraceCheckUtils]: 77: Hoare triple {68456#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68456#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,194 INFO L290 TraceCheckUtils]: 76: Hoare triple {68463#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} ~i~1 := 2 + ~i~1; {68456#(or (< student_version_~w (+ student_version_~i~1 10)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,194 INFO L290 TraceCheckUtils]: 75: Hoare triple {68463#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} assume !!(~i~1 < ~w); {68463#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-28 10:42:49,195 INFO L290 TraceCheckUtils]: 74: Hoare triple {68470#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68463#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 12)))} is VALID [2022-04-28 10:42:49,195 INFO L290 TraceCheckUtils]: 73: Hoare triple {68470#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68470#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,195 INFO L290 TraceCheckUtils]: 72: Hoare triple {68477#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {68470#(or (< student_version_~w (+ 14 student_version_~i~1)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,196 INFO L290 TraceCheckUtils]: 71: Hoare triple {68477#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {68477#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-28 10:42:49,196 INFO L290 TraceCheckUtils]: 70: Hoare triple {68484#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} ~i~1 := 2 + ~i~1; {68477#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-28 10:42:49,196 INFO L290 TraceCheckUtils]: 69: Hoare triple {68484#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} assume !!(~i~1 < ~w); {68484#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-28 10:42:49,197 INFO L290 TraceCheckUtils]: 68: Hoare triple {68491#(or (< student_version_~w (+ student_version_~i~1 20)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68484#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ student_version_~i~1 18)))} is VALID [2022-04-28 10:42:49,197 INFO L290 TraceCheckUtils]: 67: Hoare triple {68491#(or (< student_version_~w (+ student_version_~i~1 20)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68491#(or (< student_version_~w (+ student_version_~i~1 20)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,197 INFO L290 TraceCheckUtils]: 66: Hoare triple {68498#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {68491#(or (< student_version_~w (+ student_version_~i~1 20)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,198 INFO L290 TraceCheckUtils]: 65: Hoare triple {68498#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} assume !!(~i~1 < ~w); {68498#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-28 10:42:49,198 INFO L290 TraceCheckUtils]: 64: Hoare triple {68505#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68498#(or (<= 34 |student_version_#in~w|) (< student_version_~w (+ 22 student_version_~i~1)))} is VALID [2022-04-28 10:42:49,198 INFO L290 TraceCheckUtils]: 63: Hoare triple {68505#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68505#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,199 INFO L290 TraceCheckUtils]: 62: Hoare triple {68512#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68505#(or (< student_version_~w (+ student_version_~i~1 24)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,199 INFO L290 TraceCheckUtils]: 61: Hoare triple {68512#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68512#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,200 INFO L290 TraceCheckUtils]: 60: Hoare triple {68519#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68512#(or (< student_version_~w (+ student_version_~i~1 26)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,200 INFO L290 TraceCheckUtils]: 59: Hoare triple {68519#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68519#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,200 INFO L290 TraceCheckUtils]: 58: Hoare triple {68526#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68519#(or (< student_version_~w (+ student_version_~i~1 28)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,201 INFO L290 TraceCheckUtils]: 57: Hoare triple {68526#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68526#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,201 INFO L290 TraceCheckUtils]: 56: Hoare triple {68533#(or (< student_version_~w (+ 32 student_version_~i~1)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68526#(or (< student_version_~w (+ 30 student_version_~i~1)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,201 INFO L290 TraceCheckUtils]: 55: Hoare triple {68533#(or (< student_version_~w (+ 32 student_version_~i~1)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68533#(or (< student_version_~w (+ 32 student_version_~i~1)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,202 INFO L290 TraceCheckUtils]: 54: Hoare triple {68540#(or (< student_version_~w (+ student_version_~i~1 34)) (<= 34 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {68533#(or (< student_version_~w (+ 32 student_version_~i~1)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,202 INFO L290 TraceCheckUtils]: 53: Hoare triple {68540#(or (< student_version_~w (+ student_version_~i~1 34)) (<= 34 |student_version_#in~w|))} assume !!(~i~1 < ~w); {68540#(or (< student_version_~w (+ student_version_~i~1 34)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,202 INFO L290 TraceCheckUtils]: 52: Hoare triple {68547#(or (< student_version_~w 34) (<= 34 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {68540#(or (< student_version_~w (+ student_version_~i~1 34)) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,203 INFO L290 TraceCheckUtils]: 51: Hoare triple {67934#true} ~w := #in~w;~is_divisible~1 := ~true~0; {68547#(or (< student_version_~w 34) (<= 34 |student_version_#in~w|))} is VALID [2022-04-28 10:42:49,203 INFO L272 TraceCheckUtils]: 50: Hoare triple {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (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)); {67934#true} is VALID [2022-04-28 10:42:49,203 INFO L290 TraceCheckUtils]: 49: Hoare triple {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (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; {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-28 10:42:49,204 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {68043#(<= |correct_version_#in~w| 33)} {67934#true} #87#return; {67980#(or (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 33)) (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))))} is VALID [2022-04-28 10:42:49,204 INFO L290 TraceCheckUtils]: 47: Hoare triple {68043#(<= |correct_version_#in~w| 33)} assume true; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:49,204 INFO L290 TraceCheckUtils]: 46: Hoare triple {68043#(<= |correct_version_#in~w| 33)} #res := ~is_divisible~0; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:49,205 INFO L290 TraceCheckUtils]: 45: Hoare triple {68569#(or (<= |correct_version_#in~w| 33) (= correct_version_~i~0 correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {68043#(<= |correct_version_#in~w| 33)} is VALID [2022-04-28 10:42:49,205 INFO L290 TraceCheckUtils]: 44: Hoare triple {68573#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 33) (= correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {68569#(or (<= |correct_version_#in~w| 33) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-28 10:42:49,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {68577#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68573#(or (< correct_version_~i~0 correct_version_~w) (<= |correct_version_#in~w| 33) (= correct_version_~i~0 correct_version_~w))} is VALID [2022-04-28 10:42:49,206 INFO L290 TraceCheckUtils]: 42: Hoare triple {68577#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68577#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,206 INFO L290 TraceCheckUtils]: 41: Hoare triple {68584#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68577#(or (<= (+ correct_version_~i~0 2) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,207 INFO L290 TraceCheckUtils]: 40: Hoare triple {68584#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68584#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {68591#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 6) correct_version_~w))} ~i~0 := 2 + ~i~0; {68584#(or (<= (+ correct_version_~i~0 4) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,207 INFO L290 TraceCheckUtils]: 38: Hoare triple {68591#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 6) correct_version_~w))} assume !!(~i~0 < ~w); {68591#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-28 10:42:49,208 INFO L290 TraceCheckUtils]: 37: Hoare triple {68598#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68591#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 6) correct_version_~w))} is VALID [2022-04-28 10:42:49,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {68598#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68598#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,209 INFO L290 TraceCheckUtils]: 35: Hoare triple {68605#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68598#(or (<= (+ correct_version_~i~0 8) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,209 INFO L290 TraceCheckUtils]: 34: Hoare triple {68605#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68605#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,209 INFO L290 TraceCheckUtils]: 33: Hoare triple {68612#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 12) correct_version_~w))} ~i~0 := 2 + ~i~0; {68605#(or (<= (+ correct_version_~i~0 10) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,210 INFO L290 TraceCheckUtils]: 32: Hoare triple {68612#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 12) correct_version_~w))} assume !!(~i~0 < ~w); {68612#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-28 10:42:49,210 INFO L290 TraceCheckUtils]: 31: Hoare triple {68619#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68612#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 12) correct_version_~w))} is VALID [2022-04-28 10:42:49,210 INFO L290 TraceCheckUtils]: 30: Hoare triple {68619#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68619#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,211 INFO L290 TraceCheckUtils]: 29: Hoare triple {68626#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68619#(or (<= (+ correct_version_~i~0 14) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,211 INFO L290 TraceCheckUtils]: 28: Hoare triple {68626#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68626#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,212 INFO L290 TraceCheckUtils]: 27: Hoare triple {68633#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68626#(or (<= (+ correct_version_~i~0 16) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,212 INFO L290 TraceCheckUtils]: 26: Hoare triple {68633#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68633#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,212 INFO L290 TraceCheckUtils]: 25: Hoare triple {68640#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68633#(or (<= (+ correct_version_~i~0 18) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,213 INFO L290 TraceCheckUtils]: 24: Hoare triple {68640#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68640#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,213 INFO L290 TraceCheckUtils]: 23: Hoare triple {68647#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {68640#(or (<= (+ correct_version_~i~0 20) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,213 INFO L290 TraceCheckUtils]: 22: Hoare triple {68647#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {68647#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-28 10:42:49,214 INFO L290 TraceCheckUtils]: 21: Hoare triple {68654#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68647#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-28 10:42:49,214 INFO L290 TraceCheckUtils]: 20: Hoare triple {68654#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68654#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {68661#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68654#(or (<= (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {68661#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68661#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {68668#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68661#(or (<= (+ correct_version_~i~0 26) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,216 INFO L290 TraceCheckUtils]: 16: Hoare triple {68668#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68668#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,216 INFO L290 TraceCheckUtils]: 15: Hoare triple {68675#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68668#(or (<= (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {68675#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68675#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,217 INFO L290 TraceCheckUtils]: 13: Hoare triple {68682#(or (<= (+ correct_version_~i~0 32) correct_version_~w) (<= |correct_version_#in~w| 33))} ~i~0 := 2 + ~i~0; {68675#(or (<= (+ correct_version_~i~0 30) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,217 INFO L290 TraceCheckUtils]: 12: Hoare triple {68682#(or (<= (+ correct_version_~i~0 32) correct_version_~w) (<= |correct_version_#in~w| 33))} assume !!(~i~0 < ~w); {68682#(or (<= (+ correct_version_~i~0 32) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,218 INFO L290 TraceCheckUtils]: 11: Hoare triple {68689#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 34) correct_version_~w))} ~i~0 := 2 + ~i~0; {68682#(or (<= (+ correct_version_~i~0 32) correct_version_~w) (<= |correct_version_#in~w| 33))} is VALID [2022-04-28 10:42:49,218 INFO L290 TraceCheckUtils]: 10: Hoare triple {68689#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 34) correct_version_~w))} assume !!(~i~0 < ~w); {68689#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 34) correct_version_~w))} is VALID [2022-04-28 10:42:49,218 INFO L290 TraceCheckUtils]: 9: Hoare triple {68696#(or (<= |correct_version_#in~w| 33) (<= 34 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {68689#(or (<= |correct_version_#in~w| 33) (<= (+ correct_version_~i~0 34) correct_version_~w))} is VALID [2022-04-28 10:42:49,219 INFO L290 TraceCheckUtils]: 8: Hoare triple {67934#true} ~w := #in~w;~is_divisible~0 := ~true~0; {68696#(or (<= |correct_version_#in~w| 33) (<= 34 correct_version_~w))} is VALID [2022-04-28 10:42:49,219 INFO L272 TraceCheckUtils]: 7: Hoare triple {67934#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {67934#true} is VALID [2022-04-28 10:42:49,219 INFO L290 TraceCheckUtils]: 6: Hoare triple {67934#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {67934#true} is VALID [2022-04-28 10:42:49,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {67934#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {67934#true} is VALID [2022-04-28 10:42:49,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {67934#true} call #t~ret7 := main(); {67934#true} is VALID [2022-04-28 10:42:49,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67934#true} {67934#true} #93#return; {67934#true} is VALID [2022-04-28 10:42:49,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {67934#true} assume true; {67934#true} is VALID [2022-04-28 10:42:49,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {67934#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {67934#true} is VALID [2022-04-28 10:42:49,219 INFO L272 TraceCheckUtils]: 0: Hoare triple {67934#true} call ULTIMATE.init(); {67934#true} is VALID [2022-04-28 10:42:49,224 INFO L134 CoverageAnalysis]: Checked inductivity of 578 backedges. 289 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:49,224 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2128784262] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:42:49,224 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:42:49,224 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [45, 44, 44] total 123 [2022-04-28 10:42:49,224 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:42:49,224 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [164858897] [2022-04-28 10:42:49,224 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [164858897] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:42:49,224 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:42:49,224 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [45] imperfect sequences [] total 45 [2022-04-28 10:42:49,224 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [241298914] [2022-04-28 10:42:49,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:42:49,225 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 97 [2022-04-28 10:42:49,225 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:42:49,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:49,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:49,289 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-04-28 10:42:49,289 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:49,289 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-04-28 10:42:49,290 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2423, Invalid=12583, Unknown=0, NotChecked=0, Total=15006 [2022-04-28 10:42:49,290 INFO L87 Difference]: Start difference. First operand 106 states and 109 transitions. Second operand has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:53,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:53,085 INFO L93 Difference]: Finished difference Result 126 states and 133 transitions. [2022-04-28 10:42:53,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2022-04-28 10:42:53,085 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 97 [2022-04-28 10:42:53,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:42:53,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:53,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 128 transitions. [2022-04-28 10:42:53,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:53,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 128 transitions. [2022-04-28 10:42:53,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 128 transitions. [2022-04-28 10:42:53,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:53,201 INFO L225 Difference]: With dead ends: 126 [2022-04-28 10:42:53,201 INFO L226 Difference]: Without dead ends: 115 [2022-04-28 10:42:53,203 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 283 GetRequests, 115 SyntacticMatches, 5 SemanticMatches, 163 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12536 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=4147, Invalid=22913, Unknown=0, NotChecked=0, Total=27060 [2022-04-28 10:42:53,203 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 140 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 728 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 144 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 779 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 728 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:42:53,203 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [144 Valid, 72 Invalid, 779 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 728 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:42:53,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-28 10:42:54,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 109. [2022-04-28 10:42:54,606 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:42:54,606 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 109 states, 97 states have (on average 1.0515463917525774) internal successors, (102), 99 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:42:54,607 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 109 states, 97 states have (on average 1.0515463917525774) internal successors, (102), 99 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:42:54,607 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 109 states, 97 states have (on average 1.0515463917525774) internal successors, (102), 99 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:42:54,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:54,608 INFO L93 Difference]: Finished difference Result 115 states and 121 transitions. [2022-04-28 10:42:54,608 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 121 transitions. [2022-04-28 10:42:54,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:54,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:54,608 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 97 states have (on average 1.0515463917525774) internal successors, (102), 99 states have internal predecessors, (102), 6 states have call successors, (6), 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 115 states. [2022-04-28 10:42:54,608 INFO L87 Difference]: Start difference. First operand has 109 states, 97 states have (on average 1.0515463917525774) internal successors, (102), 99 states have internal predecessors, (102), 6 states have call successors, (6), 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 115 states. [2022-04-28 10:42:54,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:42:54,609 INFO L93 Difference]: Finished difference Result 115 states and 121 transitions. [2022-04-28 10:42:54,609 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 121 transitions. [2022-04-28 10:42:54,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:42:54,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:42:54,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:42:54,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:42:54,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 97 states have (on average 1.0515463917525774) internal successors, (102), 99 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:42:54,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 113 transitions. [2022-04-28 10:42:54,610 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 113 transitions. Word has length 97 [2022-04-28 10:42:54,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:42:54,610 INFO L495 AbstractCegarLoop]: Abstraction has 109 states and 113 transitions. [2022-04-28 10:42:54,611 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:42:54,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 113 transitions. [2022-04-28 10:42:54,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:42:54,923 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 113 transitions. [2022-04-28 10:42:54,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 10:42:54,924 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:42:54,924 INFO L195 NwaCegarLoop]: trace histogram [17, 17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:42:54,942 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (66)] Forceful destruction successful, exit code 0 [2022-04-28 10:42:55,125 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 66 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable68 [2022-04-28 10:42:55,125 INFO L420 AbstractCegarLoop]: === Iteration 70 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:42:55,125 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:42:55,125 INFO L85 PathProgramCache]: Analyzing trace with hash -1133925805, now seen corresponding path program 63 times [2022-04-28 10:42:55,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:42:55,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1837734040] [2022-04-28 10:42:55,128 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:42:55,128 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:42:55,128 INFO L85 PathProgramCache]: Analyzing trace with hash -1133925805, now seen corresponding path program 64 times [2022-04-28 10:42:55,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:42:55,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [584398272] [2022-04-28 10:42:55,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:42:55,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:42:55,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:55,174 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:42:55,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:55,177 INFO L290 TraceCheckUtils]: 0: Hoare triple {69595#(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; {69507#true} is VALID [2022-04-28 10:42:55,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {69507#true} assume true; {69507#true} is VALID [2022-04-28 10:42:55,177 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69507#true} {69507#true} #93#return; {69507#true} is VALID [2022-04-28 10:42:55,177 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:42:55,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:55,508 INFO L290 TraceCheckUtils]: 0: Hoare triple {69507#true} ~w := #in~w;~is_divisible~0 := ~true~0; {69596#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:55,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {69596#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {69597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {69597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {69597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,510 INFO L290 TraceCheckUtils]: 3: Hoare triple {69597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,510 INFO L290 TraceCheckUtils]: 4: Hoare triple {69598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {69598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {69598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,511 INFO L290 TraceCheckUtils]: 6: Hoare triple {69599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,511 INFO L290 TraceCheckUtils]: 7: Hoare triple {69599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {69600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {69600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69601#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,512 INFO L290 TraceCheckUtils]: 10: Hoare triple {69601#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69601#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,512 INFO L290 TraceCheckUtils]: 11: Hoare triple {69601#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69602#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,513 INFO L290 TraceCheckUtils]: 12: Hoare triple {69602#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69602#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {69602#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69603#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {69603#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {69603#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,514 INFO L290 TraceCheckUtils]: 15: Hoare triple {69603#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69604#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,514 INFO L290 TraceCheckUtils]: 16: Hoare triple {69604#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69604#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,515 INFO L290 TraceCheckUtils]: 17: Hoare triple {69604#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69605#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,515 INFO L290 TraceCheckUtils]: 18: Hoare triple {69605#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {69605#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,515 INFO L290 TraceCheckUtils]: 19: Hoare triple {69605#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69606#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {69606#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69606#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {69606#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69607#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {69607#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69607#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,517 INFO L290 TraceCheckUtils]: 23: Hoare triple {69607#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69608#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,517 INFO L290 TraceCheckUtils]: 24: Hoare triple {69608#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69608#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {69608#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69609#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,518 INFO L290 TraceCheckUtils]: 26: Hoare triple {69609#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69609#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,518 INFO L290 TraceCheckUtils]: 27: Hoare triple {69609#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69610#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,518 INFO L290 TraceCheckUtils]: 28: Hoare triple {69610#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {69610#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,519 INFO L290 TraceCheckUtils]: 29: Hoare triple {69610#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69611#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,519 INFO L290 TraceCheckUtils]: 30: Hoare triple {69611#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {69611#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:55,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {69611#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69612#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {69612#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69612#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,520 INFO L290 TraceCheckUtils]: 33: Hoare triple {69612#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69613#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,520 INFO L290 TraceCheckUtils]: 34: Hoare triple {69613#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69613#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {69613#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69614#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {69614#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {69614#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:55,521 INFO L290 TraceCheckUtils]: 37: Hoare triple {69614#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:55,522 INFO L290 TraceCheckUtils]: 38: Hoare triple {69615#(<= 34 |correct_version_#in~w|)} #res := ~is_divisible~0; {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:55,522 INFO L290 TraceCheckUtils]: 39: Hoare triple {69615#(<= 34 |correct_version_#in~w|)} assume true; {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:55,523 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {69615#(<= 34 |correct_version_#in~w|)} {69507#true} #87#return; {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} is VALID [2022-04-28 10:42:55,523 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 10:42:55,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:56,023 INFO L290 TraceCheckUtils]: 0: Hoare triple {69507#true} ~w := #in~w;~is_divisible~1 := ~true~0; {69616#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:56,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {69616#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {69617#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:56,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {69617#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {69617#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:56,024 INFO L290 TraceCheckUtils]: 3: Hoare triple {69617#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {69618#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,024 INFO L290 TraceCheckUtils]: 4: Hoare triple {69618#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69618#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {69618#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69619#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {69619#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69619#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {69619#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69620#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:56,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {69620#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {69620#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:56,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {69620#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {69621#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,026 INFO L290 TraceCheckUtils]: 10: Hoare triple {69621#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69621#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,027 INFO L290 TraceCheckUtils]: 11: Hoare triple {69621#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69622#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:56,027 INFO L290 TraceCheckUtils]: 12: Hoare triple {69622#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {69622#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:56,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {69622#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {69623#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {69623#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69623#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,028 INFO L290 TraceCheckUtils]: 15: Hoare triple {69623#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69624#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:56,028 INFO L290 TraceCheckUtils]: 16: Hoare triple {69624#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {69624#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:56,029 INFO L290 TraceCheckUtils]: 17: Hoare triple {69624#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {69625#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:56,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {69625#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {69625#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:56,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {69625#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {69626#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:56,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {69626#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {69626#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:56,030 INFO L290 TraceCheckUtils]: 21: Hoare triple {69626#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {69627#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {69627#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69627#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,031 INFO L290 TraceCheckUtils]: 23: Hoare triple {69627#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69628#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:56,031 INFO L290 TraceCheckUtils]: 24: Hoare triple {69628#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {69628#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:56,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {69628#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {69629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:56,032 INFO L290 TraceCheckUtils]: 26: Hoare triple {69629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {69629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:56,032 INFO L290 TraceCheckUtils]: 27: Hoare triple {69629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {69630#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,032 INFO L290 TraceCheckUtils]: 28: Hoare triple {69630#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69630#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {69630#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69631#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,033 INFO L290 TraceCheckUtils]: 30: Hoare triple {69631#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69631#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {69631#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:56,034 INFO L290 TraceCheckUtils]: 32: Hoare triple {69632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {69632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:56,034 INFO L290 TraceCheckUtils]: 33: Hoare triple {69632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {69633#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,035 INFO L290 TraceCheckUtils]: 34: Hoare triple {69633#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69633#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,035 INFO L290 TraceCheckUtils]: 35: Hoare triple {69633#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69634#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 34) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-28 10:42:56,035 INFO L290 TraceCheckUtils]: 36: Hoare triple {69634#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 34) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {69635#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 34) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-28 10:42:56,036 INFO L290 TraceCheckUtils]: 37: Hoare triple {69635#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 34) (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; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:56,036 INFO L290 TraceCheckUtils]: 38: Hoare triple {69636#(<= |student_version_#in~w| 33)} #res := ~is_divisible~1; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:56,036 INFO L290 TraceCheckUtils]: 39: Hoare triple {69636#(<= |student_version_#in~w| 33)} assume true; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:56,037 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {69636#(<= |student_version_#in~w| 33)} {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} #89#return; {69508#false} is VALID [2022-04-28 10:42:56,038 INFO L272 TraceCheckUtils]: 0: Hoare triple {69507#true} call ULTIMATE.init(); {69595#(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-28 10:42:56,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {69595#(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; {69507#true} is VALID [2022-04-28 10:42:56,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {69507#true} assume true; {69507#true} is VALID [2022-04-28 10:42:56,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69507#true} {69507#true} #93#return; {69507#true} is VALID [2022-04-28 10:42:56,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {69507#true} call #t~ret7 := main(); {69507#true} is VALID [2022-04-28 10:42:56,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {69507#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {69507#true} is VALID [2022-04-28 10:42:56,038 INFO L290 TraceCheckUtils]: 6: Hoare triple {69507#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {69507#true} is VALID [2022-04-28 10:42:56,038 INFO L272 TraceCheckUtils]: 7: Hoare triple {69507#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {69507#true} is VALID [2022-04-28 10:42:56,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {69507#true} ~w := #in~w;~is_divisible~0 := ~true~0; {69596#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:42:56,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {69596#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {69597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,039 INFO L290 TraceCheckUtils]: 10: Hoare triple {69597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {69597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {69597#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,040 INFO L290 TraceCheckUtils]: 12: Hoare triple {69598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {69598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,040 INFO L290 TraceCheckUtils]: 13: Hoare triple {69598#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,040 INFO L290 TraceCheckUtils]: 14: Hoare triple {69599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,041 INFO L290 TraceCheckUtils]: 15: Hoare triple {69599#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,041 INFO L290 TraceCheckUtils]: 16: Hoare triple {69600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,041 INFO L290 TraceCheckUtils]: 17: Hoare triple {69600#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69601#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,042 INFO L290 TraceCheckUtils]: 18: Hoare triple {69601#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69601#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,042 INFO L290 TraceCheckUtils]: 19: Hoare triple {69601#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69602#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {69602#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69602#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {69602#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69603#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {69603#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {69603#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {69603#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69604#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,044 INFO L290 TraceCheckUtils]: 24: Hoare triple {69604#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69604#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {69604#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69605#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,044 INFO L290 TraceCheckUtils]: 26: Hoare triple {69605#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {69605#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {69605#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69606#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,045 INFO L290 TraceCheckUtils]: 28: Hoare triple {69606#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69606#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,045 INFO L290 TraceCheckUtils]: 29: Hoare triple {69606#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69607#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {69607#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69607#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {69607#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69608#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {69608#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69608#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,047 INFO L290 TraceCheckUtils]: 33: Hoare triple {69608#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69609#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,047 INFO L290 TraceCheckUtils]: 34: Hoare triple {69609#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69609#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {69609#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69610#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,048 INFO L290 TraceCheckUtils]: 36: Hoare triple {69610#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {69610#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,048 INFO L290 TraceCheckUtils]: 37: Hoare triple {69610#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69611#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,049 INFO L290 TraceCheckUtils]: 38: Hoare triple {69611#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {69611#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:56,049 INFO L290 TraceCheckUtils]: 39: Hoare triple {69611#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69612#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,049 INFO L290 TraceCheckUtils]: 40: Hoare triple {69612#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69612#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {69612#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69613#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,050 INFO L290 TraceCheckUtils]: 42: Hoare triple {69613#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {69613#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,050 INFO L290 TraceCheckUtils]: 43: Hoare triple {69613#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {69614#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {69614#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {69614#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:42:56,051 INFO L290 TraceCheckUtils]: 45: Hoare triple {69614#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:56,051 INFO L290 TraceCheckUtils]: 46: Hoare triple {69615#(<= 34 |correct_version_#in~w|)} #res := ~is_divisible~0; {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:56,051 INFO L290 TraceCheckUtils]: 47: Hoare triple {69615#(<= 34 |correct_version_#in~w|)} assume true; {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:56,052 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {69615#(<= 34 |correct_version_#in~w|)} {69507#true} #87#return; {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} is VALID [2022-04-28 10:42:56,053 INFO L290 TraceCheckUtils]: 49: Hoare triple {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} is VALID [2022-04-28 10:42:56,053 INFO L272 TraceCheckUtils]: 50: Hoare triple {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) 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)); {69507#true} is VALID [2022-04-28 10:42:56,053 INFO L290 TraceCheckUtils]: 51: Hoare triple {69507#true} ~w := #in~w;~is_divisible~1 := ~true~0; {69616#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:56,053 INFO L290 TraceCheckUtils]: 52: Hoare triple {69616#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {69617#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:56,054 INFO L290 TraceCheckUtils]: 53: Hoare triple {69617#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {69617#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:56,054 INFO L290 TraceCheckUtils]: 54: Hoare triple {69617#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {69618#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,054 INFO L290 TraceCheckUtils]: 55: Hoare triple {69618#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69618#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,055 INFO L290 TraceCheckUtils]: 56: Hoare triple {69618#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69619#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,055 INFO L290 TraceCheckUtils]: 57: Hoare triple {69619#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69619#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,056 INFO L290 TraceCheckUtils]: 58: Hoare triple {69619#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69620#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:56,056 INFO L290 TraceCheckUtils]: 59: Hoare triple {69620#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {69620#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:56,056 INFO L290 TraceCheckUtils]: 60: Hoare triple {69620#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {69621#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,057 INFO L290 TraceCheckUtils]: 61: Hoare triple {69621#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69621#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,057 INFO L290 TraceCheckUtils]: 62: Hoare triple {69621#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69622#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:56,057 INFO L290 TraceCheckUtils]: 63: Hoare triple {69622#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {69622#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:56,058 INFO L290 TraceCheckUtils]: 64: Hoare triple {69622#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {69623#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,058 INFO L290 TraceCheckUtils]: 65: Hoare triple {69623#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69623#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,059 INFO L290 TraceCheckUtils]: 66: Hoare triple {69623#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69624#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:56,059 INFO L290 TraceCheckUtils]: 67: Hoare triple {69624#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {69624#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:56,059 INFO L290 TraceCheckUtils]: 68: Hoare triple {69624#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {69625#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:56,060 INFO L290 TraceCheckUtils]: 69: Hoare triple {69625#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {69625#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:56,060 INFO L290 TraceCheckUtils]: 70: Hoare triple {69625#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {69626#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:56,061 INFO L290 TraceCheckUtils]: 71: Hoare triple {69626#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {69626#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:56,061 INFO L290 TraceCheckUtils]: 72: Hoare triple {69626#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {69627#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,061 INFO L290 TraceCheckUtils]: 73: Hoare triple {69627#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69627#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,062 INFO L290 TraceCheckUtils]: 74: Hoare triple {69627#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69628#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:56,062 INFO L290 TraceCheckUtils]: 75: Hoare triple {69628#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {69628#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:56,062 INFO L290 TraceCheckUtils]: 76: Hoare triple {69628#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {69629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:56,063 INFO L290 TraceCheckUtils]: 77: Hoare triple {69629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {69629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:56,063 INFO L290 TraceCheckUtils]: 78: Hoare triple {69629#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {69630#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,063 INFO L290 TraceCheckUtils]: 79: Hoare triple {69630#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69630#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,064 INFO L290 TraceCheckUtils]: 80: Hoare triple {69630#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69631#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,064 INFO L290 TraceCheckUtils]: 81: Hoare triple {69631#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69631#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,065 INFO L290 TraceCheckUtils]: 82: Hoare triple {69631#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:56,065 INFO L290 TraceCheckUtils]: 83: Hoare triple {69632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {69632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:56,073 INFO L290 TraceCheckUtils]: 84: Hoare triple {69632#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {69633#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,074 INFO L290 TraceCheckUtils]: 85: Hoare triple {69633#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {69633#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:42:56,074 INFO L290 TraceCheckUtils]: 86: Hoare triple {69633#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {69634#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 34) (not (<= (+ student_version_~w 1) student_version_~i~1))))} is VALID [2022-04-28 10:42:56,074 INFO L290 TraceCheckUtils]: 87: Hoare triple {69634#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 34) (not (<= (+ student_version_~w 1) student_version_~i~1))))} assume !(~i~1 < ~w); {69635#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 34) (not (<= (+ student_version_~w 1) student_version_~i~1))) (<= student_version_~w student_version_~i~1))} is VALID [2022-04-28 10:42:56,075 INFO L290 TraceCheckUtils]: 88: Hoare triple {69635#(and (= |student_version_#in~w| student_version_~w) (or (<= student_version_~i~1 34) (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; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:56,075 INFO L290 TraceCheckUtils]: 89: Hoare triple {69636#(<= |student_version_#in~w| 33)} #res := ~is_divisible~1; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:56,075 INFO L290 TraceCheckUtils]: 90: Hoare triple {69636#(<= |student_version_#in~w| 33)} assume true; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:56,076 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {69636#(<= |student_version_#in~w| 33)} {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} #89#return; {69508#false} is VALID [2022-04-28 10:42:56,076 INFO L290 TraceCheckUtils]: 92: Hoare triple {69508#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {69508#false} is VALID [2022-04-28 10:42:56,076 INFO L272 TraceCheckUtils]: 93: Hoare triple {69508#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {69508#false} is VALID [2022-04-28 10:42:56,076 INFO L290 TraceCheckUtils]: 94: Hoare triple {69508#false} ~cond := #in~cond; {69508#false} is VALID [2022-04-28 10:42:56,076 INFO L290 TraceCheckUtils]: 95: Hoare triple {69508#false} assume 0 == ~cond; {69508#false} is VALID [2022-04-28 10:42:56,077 INFO L290 TraceCheckUtils]: 96: Hoare triple {69508#false} assume !false; {69508#false} is VALID [2022-04-28 10:42:56,077 INFO L134 CoverageAnalysis]: Checked inductivity of 578 backedges. 289 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:56,077 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:42:56,077 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [584398272] [2022-04-28 10:42:56,077 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [584398272] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:42:56,077 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [671608737] [2022-04-28 10:42:56,077 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 10:42:56,077 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:42:56,077 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:42:56,078 INFO L229 MonitoredProcess]: Starting monitored process 67 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:42:56,079 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (67)] Waiting until timeout for monitored process [2022-04-28 10:42:56,264 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 10:42:56,264 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:42:56,265 INFO L263 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 10:42:56,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:42:56,286 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:42:58,244 INFO L272 TraceCheckUtils]: 0: Hoare triple {69507#true} call ULTIMATE.init(); {69507#true} is VALID [2022-04-28 10:42:58,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {69507#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {69507#true} is VALID [2022-04-28 10:42:58,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {69507#true} assume true; {69507#true} is VALID [2022-04-28 10:42:58,244 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69507#true} {69507#true} #93#return; {69507#true} is VALID [2022-04-28 10:42:58,245 INFO L272 TraceCheckUtils]: 4: Hoare triple {69507#true} call #t~ret7 := main(); {69507#true} is VALID [2022-04-28 10:42:58,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {69507#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {69507#true} is VALID [2022-04-28 10:42:58,245 INFO L290 TraceCheckUtils]: 6: Hoare triple {69507#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {69507#true} is VALID [2022-04-28 10:42:58,245 INFO L272 TraceCheckUtils]: 7: Hoare triple {69507#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {69507#true} is VALID [2022-04-28 10:42:58,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {69507#true} ~w := #in~w;~is_divisible~0 := ~true~0; {69664#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-28 10:42:58,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {69664#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {69668#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,246 INFO L290 TraceCheckUtils]: 10: Hoare triple {69668#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {69668#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,246 INFO L290 TraceCheckUtils]: 11: Hoare triple {69668#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69675#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,246 INFO L290 TraceCheckUtils]: 12: Hoare triple {69675#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {69675#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {69675#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69682#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,247 INFO L290 TraceCheckUtils]: 14: Hoare triple {69682#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {69682#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,248 INFO L290 TraceCheckUtils]: 15: Hoare triple {69682#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69689#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:42:58,248 INFO L290 TraceCheckUtils]: 16: Hoare triple {69689#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {69689#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:42:58,248 INFO L290 TraceCheckUtils]: 17: Hoare triple {69689#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {69696#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,249 INFO L290 TraceCheckUtils]: 18: Hoare triple {69696#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {69696#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,249 INFO L290 TraceCheckUtils]: 19: Hoare triple {69696#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69703#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:42:58,249 INFO L290 TraceCheckUtils]: 20: Hoare triple {69703#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {69703#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:42:58,250 INFO L290 TraceCheckUtils]: 21: Hoare triple {69703#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {69710#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {69710#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {69710#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,250 INFO L290 TraceCheckUtils]: 23: Hoare triple {69710#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69717#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,251 INFO L290 TraceCheckUtils]: 24: Hoare triple {69717#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {69717#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,251 INFO L290 TraceCheckUtils]: 25: Hoare triple {69717#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69724#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,252 INFO L290 TraceCheckUtils]: 26: Hoare triple {69724#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {69724#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {69724#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69731#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,252 INFO L290 TraceCheckUtils]: 28: Hoare triple {69731#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {69731#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,253 INFO L290 TraceCheckUtils]: 29: Hoare triple {69731#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69738#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,253 INFO L290 TraceCheckUtils]: 30: Hoare triple {69738#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {69738#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,254 INFO L290 TraceCheckUtils]: 31: Hoare triple {69738#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69745#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,254 INFO L290 TraceCheckUtils]: 32: Hoare triple {69745#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {69745#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,255 INFO L290 TraceCheckUtils]: 33: Hoare triple {69745#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69752#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,255 INFO L290 TraceCheckUtils]: 34: Hoare triple {69752#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {69752#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,256 INFO L290 TraceCheckUtils]: 35: Hoare triple {69752#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69759#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,256 INFO L290 TraceCheckUtils]: 36: Hoare triple {69759#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {69759#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,257 INFO L290 TraceCheckUtils]: 37: Hoare triple {69759#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69766#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,257 INFO L290 TraceCheckUtils]: 38: Hoare triple {69766#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {69766#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,258 INFO L290 TraceCheckUtils]: 39: Hoare triple {69766#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69773#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,258 INFO L290 TraceCheckUtils]: 40: Hoare triple {69773#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} assume !!(~i~0 < ~w); {69773#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,258 INFO L290 TraceCheckUtils]: 41: Hoare triple {69773#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69780#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,259 INFO L290 TraceCheckUtils]: 42: Hoare triple {69780#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} assume !!(~i~0 < ~w); {69780#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,259 INFO L290 TraceCheckUtils]: 43: Hoare triple {69780#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {69787#(and (<= correct_version_~w |correct_version_#in~w|) (<= 34 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,260 INFO L290 TraceCheckUtils]: 44: Hoare triple {69787#(and (<= correct_version_~w |correct_version_#in~w|) (<= 34 correct_version_~i~0))} assume !(~i~0 < ~w); {69787#(and (<= correct_version_~w |correct_version_#in~w|) (<= 34 correct_version_~i~0))} is VALID [2022-04-28 10:42:58,260 INFO L290 TraceCheckUtils]: 45: Hoare triple {69787#(and (<= correct_version_~w |correct_version_#in~w|) (<= 34 correct_version_~i~0))} assume !(~i~0 != ~w); {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:58,260 INFO L290 TraceCheckUtils]: 46: Hoare triple {69615#(<= 34 |correct_version_#in~w|)} #res := ~is_divisible~0; {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:58,261 INFO L290 TraceCheckUtils]: 47: Hoare triple {69615#(<= 34 |correct_version_#in~w|)} assume true; {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:42:58,262 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {69615#(<= 34 |correct_version_#in~w|)} {69507#true} #87#return; {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} is VALID [2022-04-28 10:42:58,262 INFO L290 TraceCheckUtils]: 49: Hoare triple {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} is VALID [2022-04-28 10:42:58,262 INFO L272 TraceCheckUtils]: 50: Hoare triple {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) 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)); {69507#true} is VALID [2022-04-28 10:42:58,263 INFO L290 TraceCheckUtils]: 51: Hoare triple {69507#true} ~w := #in~w;~is_divisible~1 := ~true~0; {69812#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:42:58,263 INFO L290 TraceCheckUtils]: 52: Hoare triple {69812#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {69816#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:58,264 INFO L290 TraceCheckUtils]: 53: Hoare triple {69816#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {69816#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:42:58,264 INFO L290 TraceCheckUtils]: 54: Hoare triple {69816#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {69823#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:42:58,264 INFO L290 TraceCheckUtils]: 55: Hoare triple {69823#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {69823#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:42:58,265 INFO L290 TraceCheckUtils]: 56: Hoare triple {69823#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {69830#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:42:58,265 INFO L290 TraceCheckUtils]: 57: Hoare triple {69830#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {69830#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:42:58,266 INFO L290 TraceCheckUtils]: 58: Hoare triple {69830#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {69837#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:58,266 INFO L290 TraceCheckUtils]: 59: Hoare triple {69837#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {69837#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:42:58,267 INFO L290 TraceCheckUtils]: 60: Hoare triple {69837#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {69844#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-28 10:42:58,267 INFO L290 TraceCheckUtils]: 61: Hoare triple {69844#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {69844#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-28 10:42:58,267 INFO L290 TraceCheckUtils]: 62: Hoare triple {69844#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {69851#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:58,268 INFO L290 TraceCheckUtils]: 63: Hoare triple {69851#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {69851#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:42:58,268 INFO L290 TraceCheckUtils]: 64: Hoare triple {69851#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {69858#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-28 10:42:58,269 INFO L290 TraceCheckUtils]: 65: Hoare triple {69858#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {69858#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-28 10:42:58,269 INFO L290 TraceCheckUtils]: 66: Hoare triple {69858#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {69865#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:58,269 INFO L290 TraceCheckUtils]: 67: Hoare triple {69865#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {69865#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:42:58,270 INFO L290 TraceCheckUtils]: 68: Hoare triple {69865#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {69872#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:58,270 INFO L290 TraceCheckUtils]: 69: Hoare triple {69872#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {69872#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:42:58,271 INFO L290 TraceCheckUtils]: 70: Hoare triple {69872#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {69879#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:58,271 INFO L290 TraceCheckUtils]: 71: Hoare triple {69879#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {69879#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:42:58,271 INFO L290 TraceCheckUtils]: 72: Hoare triple {69879#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {69886#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-28 10:42:58,272 INFO L290 TraceCheckUtils]: 73: Hoare triple {69886#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {69886#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-28 10:42:58,272 INFO L290 TraceCheckUtils]: 74: Hoare triple {69886#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {69893#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:58,273 INFO L290 TraceCheckUtils]: 75: Hoare triple {69893#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {69893#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:42:58,273 INFO L290 TraceCheckUtils]: 76: Hoare triple {69893#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {69900#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:58,273 INFO L290 TraceCheckUtils]: 77: Hoare triple {69900#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {69900#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:42:58,274 INFO L290 TraceCheckUtils]: 78: Hoare triple {69900#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {69907#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-28 10:42:58,274 INFO L290 TraceCheckUtils]: 79: Hoare triple {69907#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !!(~i~1 < ~w); {69907#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-28 10:42:58,275 INFO L290 TraceCheckUtils]: 80: Hoare triple {69907#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} ~i~1 := 2 + ~i~1; {69914#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-28 10:42:58,275 INFO L290 TraceCheckUtils]: 81: Hoare triple {69914#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} assume !!(~i~1 < ~w); {69914#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-28 10:42:58,275 INFO L290 TraceCheckUtils]: 82: Hoare triple {69914#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} ~i~1 := 2 + ~i~1; {69921#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:58,276 INFO L290 TraceCheckUtils]: 83: Hoare triple {69921#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {69921#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:42:58,276 INFO L290 TraceCheckUtils]: 84: Hoare triple {69921#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {69928#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} is VALID [2022-04-28 10:42:58,277 INFO L290 TraceCheckUtils]: 85: Hoare triple {69928#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} assume !!(~i~1 < ~w); {69928#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} is VALID [2022-04-28 10:42:58,277 INFO L290 TraceCheckUtils]: 86: Hoare triple {69928#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} ~i~1 := 2 + ~i~1; {69935#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 34))} is VALID [2022-04-28 10:42:58,278 INFO L290 TraceCheckUtils]: 87: Hoare triple {69935#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 34))} assume !(~i~1 < ~w); {69939#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 34))} is VALID [2022-04-28 10:42:58,278 INFO L290 TraceCheckUtils]: 88: Hoare triple {69939#(and (<= |student_version_#in~w| student_version_~w) (not (< student_version_~i~1 student_version_~w)) (<= student_version_~i~1 34))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:58,278 INFO L290 TraceCheckUtils]: 89: Hoare triple {69636#(<= |student_version_#in~w| 33)} #res := ~is_divisible~1; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:58,279 INFO L290 TraceCheckUtils]: 90: Hoare triple {69636#(<= |student_version_#in~w| 33)} assume true; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:42:58,279 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {69636#(<= |student_version_#in~w| 33)} {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} #89#return; {69508#false} is VALID [2022-04-28 10:42:58,279 INFO L290 TraceCheckUtils]: 92: Hoare triple {69508#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {69508#false} is VALID [2022-04-28 10:42:58,280 INFO L272 TraceCheckUtils]: 93: Hoare triple {69508#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {69508#false} is VALID [2022-04-28 10:42:58,280 INFO L290 TraceCheckUtils]: 94: Hoare triple {69508#false} ~cond := #in~cond; {69508#false} is VALID [2022-04-28 10:42:58,280 INFO L290 TraceCheckUtils]: 95: Hoare triple {69508#false} assume 0 == ~cond; {69508#false} is VALID [2022-04-28 10:42:58,280 INFO L290 TraceCheckUtils]: 96: Hoare triple {69508#false} assume !false; {69508#false} is VALID [2022-04-28 10:42:58,280 INFO L134 CoverageAnalysis]: Checked inductivity of 578 backedges. 289 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:42:58,280 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:43:06,785 INFO L290 TraceCheckUtils]: 96: Hoare triple {69508#false} assume !false; {69508#false} is VALID [2022-04-28 10:43:06,785 INFO L290 TraceCheckUtils]: 95: Hoare triple {69508#false} assume 0 == ~cond; {69508#false} is VALID [2022-04-28 10:43:06,785 INFO L290 TraceCheckUtils]: 94: Hoare triple {69508#false} ~cond := #in~cond; {69508#false} is VALID [2022-04-28 10:43:06,785 INFO L272 TraceCheckUtils]: 93: Hoare triple {69508#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {69508#false} is VALID [2022-04-28 10:43:06,785 INFO L290 TraceCheckUtils]: 92: Hoare triple {69508#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {69508#false} is VALID [2022-04-28 10:43:06,786 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {69636#(<= |student_version_#in~w| 33)} {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} #89#return; {69508#false} is VALID [2022-04-28 10:43:06,787 INFO L290 TraceCheckUtils]: 90: Hoare triple {69636#(<= |student_version_#in~w| 33)} assume true; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:43:06,787 INFO L290 TraceCheckUtils]: 89: Hoare triple {69636#(<= |student_version_#in~w| 33)} #res := ~is_divisible~1; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:43:06,787 INFO L290 TraceCheckUtils]: 88: Hoare triple {69994#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 33))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {69636#(<= |student_version_#in~w| 33)} is VALID [2022-04-28 10:43:06,787 INFO L290 TraceCheckUtils]: 87: Hoare triple {69998#(or (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 33))} assume !(~i~1 < ~w); {69994#(or (= student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,788 INFO L290 TraceCheckUtils]: 86: Hoare triple {70002#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {69998#(or (= student_version_~i~1 student_version_~w) (< student_version_~i~1 student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,788 INFO L290 TraceCheckUtils]: 85: Hoare triple {70002#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70002#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,789 INFO L290 TraceCheckUtils]: 84: Hoare triple {70009#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70002#(or (<= (+ 2 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,789 INFO L290 TraceCheckUtils]: 83: Hoare triple {70009#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70009#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,789 INFO L290 TraceCheckUtils]: 82: Hoare triple {70016#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70009#(or (<= (+ student_version_~i~1 4) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,790 INFO L290 TraceCheckUtils]: 81: Hoare triple {70016#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70016#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,790 INFO L290 TraceCheckUtils]: 80: Hoare triple {70023#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70016#(or (<= (+ 6 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,791 INFO L290 TraceCheckUtils]: 79: Hoare triple {70023#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70023#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,791 INFO L290 TraceCheckUtils]: 78: Hoare triple {70030#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70023#(or (<= (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,791 INFO L290 TraceCheckUtils]: 77: Hoare triple {70030#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70030#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,792 INFO L290 TraceCheckUtils]: 76: Hoare triple {70037#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70030#(or (<= (+ student_version_~i~1 10) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,792 INFO L290 TraceCheckUtils]: 75: Hoare triple {70037#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70037#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,792 INFO L290 TraceCheckUtils]: 74: Hoare triple {70044#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70037#(or (<= (+ student_version_~i~1 12) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,793 INFO L290 TraceCheckUtils]: 73: Hoare triple {70044#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70044#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,793 INFO L290 TraceCheckUtils]: 72: Hoare triple {70051#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70044#(or (<= (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,793 INFO L290 TraceCheckUtils]: 71: Hoare triple {70051#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70051#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,794 INFO L290 TraceCheckUtils]: 70: Hoare triple {70058#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70051#(or (<= (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,794 INFO L290 TraceCheckUtils]: 69: Hoare triple {70058#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70058#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,795 INFO L290 TraceCheckUtils]: 68: Hoare triple {70065#(or (<= (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70058#(or (<= (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,795 INFO L290 TraceCheckUtils]: 67: Hoare triple {70065#(or (<= (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70065#(or (<= (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,795 INFO L290 TraceCheckUtils]: 66: Hoare triple {70072#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70065#(or (<= (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,796 INFO L290 TraceCheckUtils]: 65: Hoare triple {70072#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70072#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,796 INFO L290 TraceCheckUtils]: 64: Hoare triple {70079#(or (<= (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70072#(or (<= (+ 22 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,796 INFO L290 TraceCheckUtils]: 63: Hoare triple {70079#(or (<= (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70079#(or (<= (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,797 INFO L290 TraceCheckUtils]: 62: Hoare triple {70086#(or (<= (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70079#(or (<= (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,797 INFO L290 TraceCheckUtils]: 61: Hoare triple {70086#(or (<= (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70086#(or (<= (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,798 INFO L290 TraceCheckUtils]: 60: Hoare triple {70093#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70086#(or (<= (+ student_version_~i~1 26) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,798 INFO L290 TraceCheckUtils]: 59: Hoare triple {70093#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70093#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,798 INFO L290 TraceCheckUtils]: 58: Hoare triple {70100#(or (<= (+ 30 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70093#(or (<= (+ student_version_~i~1 28) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,799 INFO L290 TraceCheckUtils]: 57: Hoare triple {70100#(or (<= (+ 30 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70100#(or (<= (+ 30 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,799 INFO L290 TraceCheckUtils]: 56: Hoare triple {70107#(or (<= (+ 32 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70100#(or (<= (+ 30 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,799 INFO L290 TraceCheckUtils]: 55: Hoare triple {70107#(or (<= (+ 32 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70107#(or (<= (+ 32 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {70114#(or (<= (+ student_version_~i~1 34) student_version_~w) (<= |student_version_#in~w| 33))} ~i~1 := 2 + ~i~1; {70107#(or (<= (+ 32 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {70114#(or (<= (+ student_version_~i~1 34) student_version_~w) (<= |student_version_#in~w| 33))} assume !!(~i~1 < ~w); {70114#(or (<= (+ student_version_~i~1 34) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,801 INFO L290 TraceCheckUtils]: 52: Hoare triple {70121#(or (<= 34 student_version_~w) (<= |student_version_#in~w| 33))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {70114#(or (<= (+ student_version_~i~1 34) student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,801 INFO L290 TraceCheckUtils]: 51: Hoare triple {69507#true} ~w := #in~w;~is_divisible~1 := ~true~0; {70121#(or (<= 34 student_version_~w) (<= |student_version_#in~w| 33))} is VALID [2022-04-28 10:43:06,801 INFO L272 TraceCheckUtils]: 50: Hoare triple {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) 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)); {69507#true} is VALID [2022-04-28 10:43:06,801 INFO L290 TraceCheckUtils]: 49: Hoare triple {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} is VALID [2022-04-28 10:43:06,802 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {69615#(<= 34 |correct_version_#in~w|)} {69507#true} #87#return; {69553#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 34) main_~w~0))} is VALID [2022-04-28 10:43:06,802 INFO L290 TraceCheckUtils]: 47: Hoare triple {69615#(<= 34 |correct_version_#in~w|)} assume true; {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:06,803 INFO L290 TraceCheckUtils]: 46: Hoare triple {69615#(<= 34 |correct_version_#in~w|)} #res := ~is_divisible~0; {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:06,803 INFO L290 TraceCheckUtils]: 45: Hoare triple {70143#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 34 |correct_version_#in~w|))} assume !(~i~0 != ~w); {69615#(<= 34 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:06,803 INFO L290 TraceCheckUtils]: 44: Hoare triple {70143#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 34 |correct_version_#in~w|))} assume !(~i~0 < ~w); {70143#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,804 INFO L290 TraceCheckUtils]: 43: Hoare triple {70150#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70143#(or (not (<= correct_version_~i~0 correct_version_~w)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,804 INFO L290 TraceCheckUtils]: 42: Hoare triple {70150#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70150#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,805 INFO L290 TraceCheckUtils]: 41: Hoare triple {70157#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70150#(or (< correct_version_~w (+ correct_version_~i~0 2)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,805 INFO L290 TraceCheckUtils]: 40: Hoare triple {70157#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70157#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,805 INFO L290 TraceCheckUtils]: 39: Hoare triple {70164#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70157#(or (< correct_version_~w (+ correct_version_~i~0 4)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,806 INFO L290 TraceCheckUtils]: 38: Hoare triple {70164#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70164#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,806 INFO L290 TraceCheckUtils]: 37: Hoare triple {70171#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70164#(or (< correct_version_~w (+ correct_version_~i~0 6)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,806 INFO L290 TraceCheckUtils]: 36: Hoare triple {70171#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70171#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,807 INFO L290 TraceCheckUtils]: 35: Hoare triple {70178#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70171#(or (< correct_version_~w (+ correct_version_~i~0 8)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,807 INFO L290 TraceCheckUtils]: 34: Hoare triple {70178#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70178#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,807 INFO L290 TraceCheckUtils]: 33: Hoare triple {70185#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {70178#(or (< correct_version_~w (+ correct_version_~i~0 10)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,808 INFO L290 TraceCheckUtils]: 32: Hoare triple {70185#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {70185#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:43:06,808 INFO L290 TraceCheckUtils]: 31: Hoare triple {70192#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70185#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:43:06,808 INFO L290 TraceCheckUtils]: 30: Hoare triple {70192#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70192#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,809 INFO L290 TraceCheckUtils]: 29: Hoare triple {70199#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70192#(or (< correct_version_~w (+ correct_version_~i~0 14)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,809 INFO L290 TraceCheckUtils]: 28: Hoare triple {70199#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70199#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,810 INFO L290 TraceCheckUtils]: 27: Hoare triple {70206#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70199#(or (< correct_version_~w (+ correct_version_~i~0 16)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,810 INFO L290 TraceCheckUtils]: 26: Hoare triple {70206#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70206#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,810 INFO L290 TraceCheckUtils]: 25: Hoare triple {70213#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70206#(or (< correct_version_~w (+ correct_version_~i~0 18)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,811 INFO L290 TraceCheckUtils]: 24: Hoare triple {70213#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70213#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,811 INFO L290 TraceCheckUtils]: 23: Hoare triple {70220#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70213#(or (< correct_version_~w (+ correct_version_~i~0 20)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,811 INFO L290 TraceCheckUtils]: 22: Hoare triple {70220#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70220#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {70227#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} ~i~0 := 2 + ~i~0; {70220#(or (< correct_version_~w (+ correct_version_~i~0 22)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {70227#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} assume !!(~i~0 < ~w); {70227#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-28 10:43:06,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {70234#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70227#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 24)))} is VALID [2022-04-28 10:43:06,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {70234#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70234#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {70241#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70234#(or (< correct_version_~w (+ correct_version_~i~0 26)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {70241#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70241#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {70248#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70241#(or (< correct_version_~w (+ correct_version_~i~0 28)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,814 INFO L290 TraceCheckUtils]: 14: Hoare triple {70248#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70248#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {70255#(or (< correct_version_~w (+ correct_version_~i~0 32)) (<= 34 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {70248#(or (< correct_version_~w (+ correct_version_~i~0 30)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,815 INFO L290 TraceCheckUtils]: 12: Hoare triple {70255#(or (< correct_version_~w (+ correct_version_~i~0 32)) (<= 34 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {70255#(or (< correct_version_~w (+ correct_version_~i~0 32)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,816 INFO L290 TraceCheckUtils]: 11: Hoare triple {70262#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 34)))} ~i~0 := 2 + ~i~0; {70255#(or (< correct_version_~w (+ correct_version_~i~0 32)) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,816 INFO L290 TraceCheckUtils]: 10: Hoare triple {70262#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 34)))} assume !!(~i~0 < ~w); {70262#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 34)))} is VALID [2022-04-28 10:43:06,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {70269#(or (< correct_version_~w 34) (<= 34 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {70262#(or (<= 34 |correct_version_#in~w|) (< correct_version_~w (+ correct_version_~i~0 34)))} is VALID [2022-04-28 10:43:06,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {69507#true} ~w := #in~w;~is_divisible~0 := ~true~0; {70269#(or (< correct_version_~w 34) (<= 34 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:06,817 INFO L272 TraceCheckUtils]: 7: Hoare triple {69507#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {69507#true} is VALID [2022-04-28 10:43:06,817 INFO L290 TraceCheckUtils]: 6: Hoare triple {69507#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {69507#true} is VALID [2022-04-28 10:43:06,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {69507#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {69507#true} is VALID [2022-04-28 10:43:06,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {69507#true} call #t~ret7 := main(); {69507#true} is VALID [2022-04-28 10:43:06,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69507#true} {69507#true} #93#return; {69507#true} is VALID [2022-04-28 10:43:06,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {69507#true} assume true; {69507#true} is VALID [2022-04-28 10:43:06,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {69507#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {69507#true} is VALID [2022-04-28 10:43:06,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {69507#true} call ULTIMATE.init(); {69507#true} is VALID [2022-04-28 10:43:06,817 INFO L134 CoverageAnalysis]: Checked inductivity of 578 backedges. 289 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:06,817 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [671608737] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:43:06,818 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:43:06,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [45, 44, 44] total 123 [2022-04-28 10:43:06,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:43:06,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1837734040] [2022-04-28 10:43:06,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1837734040] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:43:06,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:43:06,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [45] imperfect sequences [] total 45 [2022-04-28 10:43:06,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [397825769] [2022-04-28 10:43:06,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:43:06,818 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 97 [2022-04-28 10:43:06,818 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:43:06,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:06,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:43:06,878 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-04-28 10:43:06,878 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:43:06,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-04-28 10:43:06,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2423, Invalid=12583, Unknown=0, NotChecked=0, Total=15006 [2022-04-28 10:43:06,880 INFO L87 Difference]: Start difference. First operand 109 states and 113 transitions. Second operand has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:10,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:10,886 INFO L93 Difference]: Finished difference Result 121 states and 126 transitions. [2022-04-28 10:43:10,886 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 45 states. [2022-04-28 10:43:10,886 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 97 [2022-04-28 10:43:10,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:43:10,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:10,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 121 transitions. [2022-04-28 10:43:10,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:10,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 121 transitions. [2022-04-28 10:43:10,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 121 transitions. [2022-04-28 10:43:10,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:43:10,997 INFO L225 Difference]: With dead ends: 121 [2022-04-28 10:43:10,997 INFO L226 Difference]: Without dead ends: 112 [2022-04-28 10:43:10,999 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 283 GetRequests, 115 SyntacticMatches, 5 SemanticMatches, 163 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12554 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=4147, Invalid=22913, Unknown=0, NotChecked=0, Total=27060 [2022-04-28 10:43:10,999 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 103 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 814 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 104 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 867 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 814 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:43:10,999 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [104 Valid, 80 Invalid, 867 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 814 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 10:43:11,000 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2022-04-28 10:43:12,407 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 112. [2022-04-28 10:43:12,407 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:43:12,407 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand has 112 states, 100 states have (on average 1.06) internal successors, (106), 102 states have internal predecessors, (106), 6 states have call successors, (6), 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-28 10:43:12,407 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand has 112 states, 100 states have (on average 1.06) internal successors, (106), 102 states have internal predecessors, (106), 6 states have call successors, (6), 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-28 10:43:12,417 INFO L87 Difference]: Start difference. First operand 112 states. Second operand has 112 states, 100 states have (on average 1.06) internal successors, (106), 102 states have internal predecessors, (106), 6 states have call successors, (6), 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-28 10:43:12,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:12,418 INFO L93 Difference]: Finished difference Result 112 states and 117 transitions. [2022-04-28 10:43:12,418 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 117 transitions. [2022-04-28 10:43:12,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:43:12,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:43:12,418 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 100 states have (on average 1.06) internal successors, (106), 102 states have internal predecessors, (106), 6 states have call successors, (6), 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 112 states. [2022-04-28 10:43:12,419 INFO L87 Difference]: Start difference. First operand has 112 states, 100 states have (on average 1.06) internal successors, (106), 102 states have internal predecessors, (106), 6 states have call successors, (6), 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 112 states. [2022-04-28 10:43:12,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:12,420 INFO L93 Difference]: Finished difference Result 112 states and 117 transitions. [2022-04-28 10:43:12,420 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 117 transitions. [2022-04-28 10:43:12,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:43:12,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:43:12,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:43:12,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:43:12,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 100 states have (on average 1.06) internal successors, (106), 102 states have internal predecessors, (106), 6 states have call successors, (6), 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-28 10:43:12,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 117 transitions. [2022-04-28 10:43:12,421 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 117 transitions. Word has length 97 [2022-04-28 10:43:12,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:43:12,421 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 117 transitions. [2022-04-28 10:43:12,421 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 45 states, 45 states have (on average 1.9777777777777779) internal successors, (89), 44 states have internal predecessors, (89), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:12,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 117 transitions. [2022-04-28 10:43:12,714 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:43:12,715 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 117 transitions. [2022-04-28 10:43:12,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 10:43:12,715 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:43:12,715 INFO L195 NwaCegarLoop]: trace histogram [18, 18, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:43:12,734 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (67)] Ended with exit code 0 [2022-04-28 10:43:12,920 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 67 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable69 [2022-04-28 10:43:12,920 INFO L420 AbstractCegarLoop]: === Iteration 71 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:43:12,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:43:12,920 INFO L85 PathProgramCache]: Analyzing trace with hash -508226475, now seen corresponding path program 65 times [2022-04-28 10:43:12,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:43:12,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1332548430] [2022-04-28 10:43:12,923 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:43:12,923 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:43:12,923 INFO L85 PathProgramCache]: Analyzing trace with hash -508226475, now seen corresponding path program 66 times [2022-04-28 10:43:12,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:43:12,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1525911074] [2022-04-28 10:43:12,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:43:12,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:43:12,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:12,967 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:43:12,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:12,969 INFO L290 TraceCheckUtils]: 0: Hoare triple {71160#(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; {71070#true} is VALID [2022-04-28 10:43:12,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {71070#true} assume true; {71070#true} is VALID [2022-04-28 10:43:12,969 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {71070#true} {71070#true} #93#return; {71070#true} is VALID [2022-04-28 10:43:12,969 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:43:12,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:13,256 INFO L290 TraceCheckUtils]: 0: Hoare triple {71070#true} ~w := #in~w;~is_divisible~0 := ~true~0; {71161#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:43:13,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {71161#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {71162#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,257 INFO L290 TraceCheckUtils]: 2: Hoare triple {71162#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71162#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,257 INFO L290 TraceCheckUtils]: 3: Hoare triple {71162#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71163#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,257 INFO L290 TraceCheckUtils]: 4: Hoare triple {71163#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71163#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {71163#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71164#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,258 INFO L290 TraceCheckUtils]: 6: Hoare triple {71164#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71164#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,259 INFO L290 TraceCheckUtils]: 7: Hoare triple {71164#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71165#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,259 INFO L290 TraceCheckUtils]: 8: Hoare triple {71165#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71165#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {71165#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71166#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:13,260 INFO L290 TraceCheckUtils]: 10: Hoare triple {71166#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {71166#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:13,260 INFO L290 TraceCheckUtils]: 11: Hoare triple {71166#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {71167#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,261 INFO L290 TraceCheckUtils]: 12: Hoare triple {71167#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71167#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,261 INFO L290 TraceCheckUtils]: 13: Hoare triple {71167#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71168#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,261 INFO L290 TraceCheckUtils]: 14: Hoare triple {71168#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71168#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,262 INFO L290 TraceCheckUtils]: 15: Hoare triple {71168#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71169#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:13,262 INFO L290 TraceCheckUtils]: 16: Hoare triple {71169#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {71169#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:13,262 INFO L290 TraceCheckUtils]: 17: Hoare triple {71169#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {71170#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,263 INFO L290 TraceCheckUtils]: 18: Hoare triple {71170#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71170#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,263 INFO L290 TraceCheckUtils]: 19: Hoare triple {71170#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71171#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:13,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {71171#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {71171#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:13,264 INFO L290 TraceCheckUtils]: 21: Hoare triple {71171#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {71172#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,264 INFO L290 TraceCheckUtils]: 22: Hoare triple {71172#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71172#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,265 INFO L290 TraceCheckUtils]: 23: Hoare triple {71172#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71173#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,265 INFO L290 TraceCheckUtils]: 24: Hoare triple {71173#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71173#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {71173#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71174#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,266 INFO L290 TraceCheckUtils]: 26: Hoare triple {71174#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71174#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {71174#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71175#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,266 INFO L290 TraceCheckUtils]: 28: Hoare triple {71175#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71175#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {71175#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71176#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,267 INFO L290 TraceCheckUtils]: 30: Hoare triple {71176#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71176#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,267 INFO L290 TraceCheckUtils]: 31: Hoare triple {71176#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71177#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,268 INFO L290 TraceCheckUtils]: 32: Hoare triple {71177#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71177#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,268 INFO L290 TraceCheckUtils]: 33: Hoare triple {71177#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71178#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,268 INFO L290 TraceCheckUtils]: 34: Hoare triple {71178#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71178#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,269 INFO L290 TraceCheckUtils]: 35: Hoare triple {71178#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71179#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,269 INFO L290 TraceCheckUtils]: 36: Hoare triple {71179#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {71180#(and (<= correct_version_~w 34) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,270 INFO L290 TraceCheckUtils]: 37: Hoare triple {71180#(and (<= correct_version_~w 34) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:13,270 INFO L290 TraceCheckUtils]: 38: Hoare triple {71181#(<= |correct_version_#in~w| 34)} #res := ~is_divisible~0; {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:13,270 INFO L290 TraceCheckUtils]: 39: Hoare triple {71181#(<= |correct_version_#in~w| 34)} assume true; {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:13,271 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {71181#(<= |correct_version_#in~w| 34)} {71070#true} #87#return; {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} is VALID [2022-04-28 10:43:13,271 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-28 10:43:13,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:13,614 INFO L290 TraceCheckUtils]: 0: Hoare triple {71070#true} ~w := #in~w;~is_divisible~1 := ~true~0; {71182#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:43:13,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {71182#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {71183#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {71183#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71183#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,615 INFO L290 TraceCheckUtils]: 3: Hoare triple {71183#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71184#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,615 INFO L290 TraceCheckUtils]: 4: Hoare triple {71184#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71184#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {71184#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71185#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:13,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {71185#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {71185#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:13,617 INFO L290 TraceCheckUtils]: 7: Hoare triple {71185#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71186#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:43:13,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {71186#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {71186#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:43:13,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {71186#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71187#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:43:13,618 INFO L290 TraceCheckUtils]: 10: Hoare triple {71187#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {71187#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:43:13,618 INFO L290 TraceCheckUtils]: 11: Hoare triple {71187#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71188#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,618 INFO L290 TraceCheckUtils]: 12: Hoare triple {71188#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71188#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {71188#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71189#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:43:13,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {71189#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {71189#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:43:13,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {71189#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71190#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {71190#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71190#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {71190#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71191#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {71191#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71191#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {71191#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71192#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {71192#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71192#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,622 INFO L290 TraceCheckUtils]: 21: Hoare triple {71192#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71193#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:43:13,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {71193#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {71193#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:43:13,622 INFO L290 TraceCheckUtils]: 23: Hoare triple {71193#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71194#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {71194#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71194#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,623 INFO L290 TraceCheckUtils]: 25: Hoare triple {71194#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71195#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,623 INFO L290 TraceCheckUtils]: 26: Hoare triple {71195#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71195#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,624 INFO L290 TraceCheckUtils]: 27: Hoare triple {71195#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71196#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,624 INFO L290 TraceCheckUtils]: 28: Hoare triple {71196#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71196#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,624 INFO L290 TraceCheckUtils]: 29: Hoare triple {71196#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71197#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,625 INFO L290 TraceCheckUtils]: 30: Hoare triple {71197#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71197#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,625 INFO L290 TraceCheckUtils]: 31: Hoare triple {71197#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71198#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:43:13,625 INFO L290 TraceCheckUtils]: 32: Hoare triple {71198#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {71198#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:43:13,626 INFO L290 TraceCheckUtils]: 33: Hoare triple {71198#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71199#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,626 INFO L290 TraceCheckUtils]: 34: Hoare triple {71199#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71199#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,626 INFO L290 TraceCheckUtils]: 35: Hoare triple {71199#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71200#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,627 INFO L290 TraceCheckUtils]: 36: Hoare triple {71200#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,627 INFO L290 TraceCheckUtils]: 37: Hoare triple {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,627 INFO L290 TraceCheckUtils]: 38: Hoare triple {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,628 INFO L290 TraceCheckUtils]: 39: Hoare triple {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:13,628 INFO L290 TraceCheckUtils]: 40: Hoare triple {71202#(<= 35 |student_version_#in~w|)} #res := ~is_divisible~1; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:13,628 INFO L290 TraceCheckUtils]: 41: Hoare triple {71202#(<= 35 |student_version_#in~w|)} assume true; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:13,629 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {71202#(<= 35 |student_version_#in~w|)} {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} #89#return; {71071#false} is VALID [2022-04-28 10:43:13,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {71070#true} call ULTIMATE.init(); {71160#(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-28 10:43:13,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {71160#(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; {71070#true} is VALID [2022-04-28 10:43:13,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {71070#true} assume true; {71070#true} is VALID [2022-04-28 10:43:13,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {71070#true} {71070#true} #93#return; {71070#true} is VALID [2022-04-28 10:43:13,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {71070#true} call #t~ret7 := main(); {71070#true} is VALID [2022-04-28 10:43:13,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {71070#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {71070#true} is VALID [2022-04-28 10:43:13,630 INFO L290 TraceCheckUtils]: 6: Hoare triple {71070#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {71070#true} is VALID [2022-04-28 10:43:13,630 INFO L272 TraceCheckUtils]: 7: Hoare triple {71070#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {71070#true} is VALID [2022-04-28 10:43:13,630 INFO L290 TraceCheckUtils]: 8: Hoare triple {71070#true} ~w := #in~w;~is_divisible~0 := ~true~0; {71161#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:43:13,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {71161#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {71162#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,631 INFO L290 TraceCheckUtils]: 10: Hoare triple {71162#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71162#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,631 INFO L290 TraceCheckUtils]: 11: Hoare triple {71162#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71163#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {71163#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71163#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {71163#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71164#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {71164#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71164#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,633 INFO L290 TraceCheckUtils]: 15: Hoare triple {71164#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71165#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,633 INFO L290 TraceCheckUtils]: 16: Hoare triple {71165#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71165#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,633 INFO L290 TraceCheckUtils]: 17: Hoare triple {71165#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71166#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:13,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {71166#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {71166#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:13,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {71166#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {71167#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {71167#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71167#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,635 INFO L290 TraceCheckUtils]: 21: Hoare triple {71167#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71168#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,635 INFO L290 TraceCheckUtils]: 22: Hoare triple {71168#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71168#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,635 INFO L290 TraceCheckUtils]: 23: Hoare triple {71168#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71169#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:13,636 INFO L290 TraceCheckUtils]: 24: Hoare triple {71169#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {71169#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:13,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {71169#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {71170#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,636 INFO L290 TraceCheckUtils]: 26: Hoare triple {71170#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71170#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,637 INFO L290 TraceCheckUtils]: 27: Hoare triple {71170#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71171#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:13,637 INFO L290 TraceCheckUtils]: 28: Hoare triple {71171#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {71171#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:13,637 INFO L290 TraceCheckUtils]: 29: Hoare triple {71171#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {71172#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {71172#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71172#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {71172#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71173#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,638 INFO L290 TraceCheckUtils]: 32: Hoare triple {71173#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71173#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,639 INFO L290 TraceCheckUtils]: 33: Hoare triple {71173#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71174#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,639 INFO L290 TraceCheckUtils]: 34: Hoare triple {71174#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71174#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,640 INFO L290 TraceCheckUtils]: 35: Hoare triple {71174#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71175#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,640 INFO L290 TraceCheckUtils]: 36: Hoare triple {71175#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71175#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,640 INFO L290 TraceCheckUtils]: 37: Hoare triple {71175#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71176#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,641 INFO L290 TraceCheckUtils]: 38: Hoare triple {71176#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71176#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,641 INFO L290 TraceCheckUtils]: 39: Hoare triple {71176#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71177#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,642 INFO L290 TraceCheckUtils]: 40: Hoare triple {71177#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71177#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,642 INFO L290 TraceCheckUtils]: 41: Hoare triple {71177#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71178#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,642 INFO L290 TraceCheckUtils]: 42: Hoare triple {71178#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {71178#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,643 INFO L290 TraceCheckUtils]: 43: Hoare triple {71178#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {71179#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,643 INFO L290 TraceCheckUtils]: 44: Hoare triple {71179#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {71180#(and (<= correct_version_~w 34) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:13,644 INFO L290 TraceCheckUtils]: 45: Hoare triple {71180#(and (<= correct_version_~w 34) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 != ~w); {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:13,644 INFO L290 TraceCheckUtils]: 46: Hoare triple {71181#(<= |correct_version_#in~w| 34)} #res := ~is_divisible~0; {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:13,644 INFO L290 TraceCheckUtils]: 47: Hoare triple {71181#(<= |correct_version_#in~w| 34)} assume true; {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:13,645 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {71181#(<= |correct_version_#in~w| 34)} {71070#true} #87#return; {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} is VALID [2022-04-28 10:43:13,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} is VALID [2022-04-28 10:43:13,646 INFO L272 TraceCheckUtils]: 50: Hoare triple {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {71070#true} is VALID [2022-04-28 10:43:13,646 INFO L290 TraceCheckUtils]: 51: Hoare triple {71070#true} ~w := #in~w;~is_divisible~1 := ~true~0; {71182#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:43:13,646 INFO L290 TraceCheckUtils]: 52: Hoare triple {71182#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {71183#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,646 INFO L290 TraceCheckUtils]: 53: Hoare triple {71183#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71183#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,647 INFO L290 TraceCheckUtils]: 54: Hoare triple {71183#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71184#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,647 INFO L290 TraceCheckUtils]: 55: Hoare triple {71184#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71184#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,648 INFO L290 TraceCheckUtils]: 56: Hoare triple {71184#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71185#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:13,648 INFO L290 TraceCheckUtils]: 57: Hoare triple {71185#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {71185#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:13,649 INFO L290 TraceCheckUtils]: 58: Hoare triple {71185#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71186#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:43:13,649 INFO L290 TraceCheckUtils]: 59: Hoare triple {71186#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {71186#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:43:13,649 INFO L290 TraceCheckUtils]: 60: Hoare triple {71186#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71187#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:43:13,650 INFO L290 TraceCheckUtils]: 61: Hoare triple {71187#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {71187#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:43:13,650 INFO L290 TraceCheckUtils]: 62: Hoare triple {71187#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71188#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,651 INFO L290 TraceCheckUtils]: 63: Hoare triple {71188#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71188#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,651 INFO L290 TraceCheckUtils]: 64: Hoare triple {71188#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71189#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:43:13,651 INFO L290 TraceCheckUtils]: 65: Hoare triple {71189#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {71189#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:43:13,652 INFO L290 TraceCheckUtils]: 66: Hoare triple {71189#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71190#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,652 INFO L290 TraceCheckUtils]: 67: Hoare triple {71190#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71190#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,655 INFO L290 TraceCheckUtils]: 68: Hoare triple {71190#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71191#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,655 INFO L290 TraceCheckUtils]: 69: Hoare triple {71191#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71191#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,656 INFO L290 TraceCheckUtils]: 70: Hoare triple {71191#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71192#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,656 INFO L290 TraceCheckUtils]: 71: Hoare triple {71192#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71192#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,656 INFO L290 TraceCheckUtils]: 72: Hoare triple {71192#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71193#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:43:13,657 INFO L290 TraceCheckUtils]: 73: Hoare triple {71193#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {71193#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:43:13,657 INFO L290 TraceCheckUtils]: 74: Hoare triple {71193#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71194#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,658 INFO L290 TraceCheckUtils]: 75: Hoare triple {71194#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71194#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,658 INFO L290 TraceCheckUtils]: 76: Hoare triple {71194#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71195#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,659 INFO L290 TraceCheckUtils]: 77: Hoare triple {71195#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71195#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,659 INFO L290 TraceCheckUtils]: 78: Hoare triple {71195#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71196#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,659 INFO L290 TraceCheckUtils]: 79: Hoare triple {71196#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71196#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,660 INFO L290 TraceCheckUtils]: 80: Hoare triple {71196#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71197#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,660 INFO L290 TraceCheckUtils]: 81: Hoare triple {71197#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71197#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,661 INFO L290 TraceCheckUtils]: 82: Hoare triple {71197#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71198#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:43:13,661 INFO L290 TraceCheckUtils]: 83: Hoare triple {71198#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {71198#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:43:13,661 INFO L290 TraceCheckUtils]: 84: Hoare triple {71198#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71199#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,662 INFO L290 TraceCheckUtils]: 85: Hoare triple {71199#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71199#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,662 INFO L290 TraceCheckUtils]: 86: Hoare triple {71199#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71200#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,663 INFO L290 TraceCheckUtils]: 87: Hoare triple {71200#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,663 INFO L290 TraceCheckUtils]: 88: Hoare triple {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,663 INFO L290 TraceCheckUtils]: 89: Hoare triple {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:13,664 INFO L290 TraceCheckUtils]: 90: Hoare triple {71201#(and (<= 35 student_version_~w) (= |student_version_#in~w| student_version_~w))} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:13,664 INFO L290 TraceCheckUtils]: 91: Hoare triple {71202#(<= 35 |student_version_#in~w|)} #res := ~is_divisible~1; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:13,664 INFO L290 TraceCheckUtils]: 92: Hoare triple {71202#(<= 35 |student_version_#in~w|)} assume true; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:13,665 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {71202#(<= 35 |student_version_#in~w|)} {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} #89#return; {71071#false} is VALID [2022-04-28 10:43:13,665 INFO L290 TraceCheckUtils]: 94: Hoare triple {71071#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {71071#false} is VALID [2022-04-28 10:43:13,665 INFO L272 TraceCheckUtils]: 95: Hoare triple {71071#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {71071#false} is VALID [2022-04-28 10:43:13,666 INFO L290 TraceCheckUtils]: 96: Hoare triple {71071#false} ~cond := #in~cond; {71071#false} is VALID [2022-04-28 10:43:13,666 INFO L290 TraceCheckUtils]: 97: Hoare triple {71071#false} assume 0 == ~cond; {71071#false} is VALID [2022-04-28 10:43:13,666 INFO L290 TraceCheckUtils]: 98: Hoare triple {71071#false} assume !false; {71071#false} is VALID [2022-04-28 10:43:13,666 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 289 proven. 324 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:13,666 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:43:13,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1525911074] [2022-04-28 10:43:13,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1525911074] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:43:13,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1387932929] [2022-04-28 10:43:13,666 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:43:13,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:43:13,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:43:13,667 INFO L229 MonitoredProcess]: Starting monitored process 68 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:43:13,669 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Waiting until timeout for monitored process [2022-04-28 10:43:13,870 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2022-04-28 10:43:13,870 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:43:13,871 INFO L263 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 10:43:13,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:13,894 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:43:15,465 INFO L272 TraceCheckUtils]: 0: Hoare triple {71070#true} call ULTIMATE.init(); {71070#true} is VALID [2022-04-28 10:43:15,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {71070#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {71070#true} is VALID [2022-04-28 10:43:15,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {71070#true} assume true; {71070#true} is VALID [2022-04-28 10:43:15,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {71070#true} {71070#true} #93#return; {71070#true} is VALID [2022-04-28 10:43:15,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {71070#true} call #t~ret7 := main(); {71070#true} is VALID [2022-04-28 10:43:15,466 INFO L290 TraceCheckUtils]: 5: Hoare triple {71070#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {71070#true} is VALID [2022-04-28 10:43:15,466 INFO L290 TraceCheckUtils]: 6: Hoare triple {71070#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {71070#true} is VALID [2022-04-28 10:43:15,466 INFO L272 TraceCheckUtils]: 7: Hoare triple {71070#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {71070#true} is VALID [2022-04-28 10:43:15,466 INFO L290 TraceCheckUtils]: 8: Hoare triple {71070#true} ~w := #in~w;~is_divisible~0 := ~true~0; {71230#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:43:15,466 INFO L290 TraceCheckUtils]: 9: Hoare triple {71230#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {71234#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:43:15,467 INFO L290 TraceCheckUtils]: 10: Hoare triple {71234#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {71234#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:43:15,467 INFO L290 TraceCheckUtils]: 11: Hoare triple {71234#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {71241#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:43:15,467 INFO L290 TraceCheckUtils]: 12: Hoare triple {71241#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {71241#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:43:15,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {71241#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {71248#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:43:15,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {71248#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {71248#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:43:15,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {71248#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {71255#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:43:15,469 INFO L290 TraceCheckUtils]: 16: Hoare triple {71255#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {71255#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:43:15,469 INFO L290 TraceCheckUtils]: 17: Hoare triple {71255#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {71262#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:15,470 INFO L290 TraceCheckUtils]: 18: Hoare triple {71262#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {71262#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:15,470 INFO L290 TraceCheckUtils]: 19: Hoare triple {71262#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {71269#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:43:15,470 INFO L290 TraceCheckUtils]: 20: Hoare triple {71269#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {71269#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:43:15,471 INFO L290 TraceCheckUtils]: 21: Hoare triple {71269#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {71276#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:43:15,471 INFO L290 TraceCheckUtils]: 22: Hoare triple {71276#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {71276#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:43:15,480 INFO L290 TraceCheckUtils]: 23: Hoare triple {71276#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {71283#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:15,482 INFO L290 TraceCheckUtils]: 24: Hoare triple {71283#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {71283#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:15,482 INFO L290 TraceCheckUtils]: 25: Hoare triple {71283#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {71290#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:43:15,483 INFO L290 TraceCheckUtils]: 26: Hoare triple {71290#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {71290#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:43:15,483 INFO L290 TraceCheckUtils]: 27: Hoare triple {71290#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {71297#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:15,483 INFO L290 TraceCheckUtils]: 28: Hoare triple {71297#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {71297#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:15,484 INFO L290 TraceCheckUtils]: 29: Hoare triple {71297#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {71304#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:43:15,484 INFO L290 TraceCheckUtils]: 30: Hoare triple {71304#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {71304#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:43:15,485 INFO L290 TraceCheckUtils]: 31: Hoare triple {71304#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {71311#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:43:15,485 INFO L290 TraceCheckUtils]: 32: Hoare triple {71311#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {71311#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:43:15,485 INFO L290 TraceCheckUtils]: 33: Hoare triple {71311#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {71318#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:43:15,486 INFO L290 TraceCheckUtils]: 34: Hoare triple {71318#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {71318#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:43:15,486 INFO L290 TraceCheckUtils]: 35: Hoare triple {71318#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {71325#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:43:15,486 INFO L290 TraceCheckUtils]: 36: Hoare triple {71325#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {71325#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:43:15,487 INFO L290 TraceCheckUtils]: 37: Hoare triple {71325#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {71332#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:43:15,487 INFO L290 TraceCheckUtils]: 38: Hoare triple {71332#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !!(~i~0 < ~w); {71332#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:43:15,487 INFO L290 TraceCheckUtils]: 39: Hoare triple {71332#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} ~i~0 := 2 + ~i~0; {71339#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:43:15,488 INFO L290 TraceCheckUtils]: 40: Hoare triple {71339#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} assume !!(~i~0 < ~w); {71339#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:43:15,488 INFO L290 TraceCheckUtils]: 41: Hoare triple {71339#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} ~i~0 := 2 + ~i~0; {71346#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} is VALID [2022-04-28 10:43:15,488 INFO L290 TraceCheckUtils]: 42: Hoare triple {71346#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} assume !!(~i~0 < ~w); {71346#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} is VALID [2022-04-28 10:43:15,489 INFO L290 TraceCheckUtils]: 43: Hoare triple {71346#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} ~i~0 := 2 + ~i~0; {71353#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 34))} is VALID [2022-04-28 10:43:15,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {71353#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 34))} assume !(~i~0 < ~w); {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:15,490 INFO L290 TraceCheckUtils]: 45: Hoare triple {71181#(<= |correct_version_#in~w| 34)} assume !(~i~0 != ~w); {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:15,490 INFO L290 TraceCheckUtils]: 46: Hoare triple {71181#(<= |correct_version_#in~w| 34)} #res := ~is_divisible~0; {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:15,490 INFO L290 TraceCheckUtils]: 47: Hoare triple {71181#(<= |correct_version_#in~w| 34)} assume true; {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:15,491 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {71181#(<= |correct_version_#in~w| 34)} {71070#true} #87#return; {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} is VALID [2022-04-28 10:43:15,491 INFO L290 TraceCheckUtils]: 49: Hoare triple {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} is VALID [2022-04-28 10:43:15,491 INFO L272 TraceCheckUtils]: 50: Hoare triple {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {71070#true} is VALID [2022-04-28 10:43:15,491 INFO L290 TraceCheckUtils]: 51: Hoare triple {71070#true} ~w := #in~w;~is_divisible~1 := ~true~0; {71378#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-28 10:43:15,492 INFO L290 TraceCheckUtils]: 52: Hoare triple {71378#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {71382#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,492 INFO L290 TraceCheckUtils]: 53: Hoare triple {71382#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71382#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,493 INFO L290 TraceCheckUtils]: 54: Hoare triple {71382#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71389#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,493 INFO L290 TraceCheckUtils]: 55: Hoare triple {71389#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71389#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,493 INFO L290 TraceCheckUtils]: 56: Hoare triple {71389#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71396#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:15,494 INFO L290 TraceCheckUtils]: 57: Hoare triple {71396#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {71396#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:15,494 INFO L290 TraceCheckUtils]: 58: Hoare triple {71396#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {71403#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,494 INFO L290 TraceCheckUtils]: 59: Hoare triple {71403#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71403#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,495 INFO L290 TraceCheckUtils]: 60: Hoare triple {71403#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71410#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,495 INFO L290 TraceCheckUtils]: 61: Hoare triple {71410#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71410#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,495 INFO L290 TraceCheckUtils]: 62: Hoare triple {71410#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71417#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,496 INFO L290 TraceCheckUtils]: 63: Hoare triple {71417#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71417#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,496 INFO L290 TraceCheckUtils]: 64: Hoare triple {71417#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71424#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,496 INFO L290 TraceCheckUtils]: 65: Hoare triple {71424#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71424#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,497 INFO L290 TraceCheckUtils]: 66: Hoare triple {71424#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71431#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,497 INFO L290 TraceCheckUtils]: 67: Hoare triple {71431#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71431#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,497 INFO L290 TraceCheckUtils]: 68: Hoare triple {71431#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71438#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,498 INFO L290 TraceCheckUtils]: 69: Hoare triple {71438#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71438#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,498 INFO L290 TraceCheckUtils]: 70: Hoare triple {71438#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71445#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,498 INFO L290 TraceCheckUtils]: 71: Hoare triple {71445#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71445#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,499 INFO L290 TraceCheckUtils]: 72: Hoare triple {71445#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71452#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,499 INFO L290 TraceCheckUtils]: 73: Hoare triple {71452#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71452#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,500 INFO L290 TraceCheckUtils]: 74: Hoare triple {71452#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71459#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,500 INFO L290 TraceCheckUtils]: 75: Hoare triple {71459#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71459#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,500 INFO L290 TraceCheckUtils]: 76: Hoare triple {71459#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71466#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,501 INFO L290 TraceCheckUtils]: 77: Hoare triple {71466#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71466#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,501 INFO L290 TraceCheckUtils]: 78: Hoare triple {71466#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71473#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,501 INFO L290 TraceCheckUtils]: 79: Hoare triple {71473#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71473#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,502 INFO L290 TraceCheckUtils]: 80: Hoare triple {71473#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71480#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,502 INFO L290 TraceCheckUtils]: 81: Hoare triple {71480#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71480#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,502 INFO L290 TraceCheckUtils]: 82: Hoare triple {71480#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71487#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,503 INFO L290 TraceCheckUtils]: 83: Hoare triple {71487#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71487#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,503 INFO L290 TraceCheckUtils]: 84: Hoare triple {71487#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71494#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,503 INFO L290 TraceCheckUtils]: 85: Hoare triple {71494#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71494#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,504 INFO L290 TraceCheckUtils]: 86: Hoare triple {71494#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71501#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:15,504 INFO L290 TraceCheckUtils]: 87: Hoare triple {71501#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:15,504 INFO L290 TraceCheckUtils]: 88: Hoare triple {71202#(<= 35 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:15,505 INFO L290 TraceCheckUtils]: 89: Hoare triple {71202#(<= 35 |student_version_#in~w|)} assume !(~i~1 < ~w); {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:15,505 INFO L290 TraceCheckUtils]: 90: Hoare triple {71202#(<= 35 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:15,505 INFO L290 TraceCheckUtils]: 91: Hoare triple {71202#(<= 35 |student_version_#in~w|)} #res := ~is_divisible~1; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:15,505 INFO L290 TraceCheckUtils]: 92: Hoare triple {71202#(<= 35 |student_version_#in~w|)} assume true; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:15,506 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {71202#(<= 35 |student_version_#in~w|)} {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} #89#return; {71071#false} is VALID [2022-04-28 10:43:15,506 INFO L290 TraceCheckUtils]: 94: Hoare triple {71071#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {71071#false} is VALID [2022-04-28 10:43:15,506 INFO L272 TraceCheckUtils]: 95: Hoare triple {71071#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {71071#false} is VALID [2022-04-28 10:43:15,506 INFO L290 TraceCheckUtils]: 96: Hoare triple {71071#false} ~cond := #in~cond; {71071#false} is VALID [2022-04-28 10:43:15,506 INFO L290 TraceCheckUtils]: 97: Hoare triple {71071#false} assume 0 == ~cond; {71071#false} is VALID [2022-04-28 10:43:15,506 INFO L290 TraceCheckUtils]: 98: Hoare triple {71071#false} assume !false; {71071#false} is VALID [2022-04-28 10:43:15,507 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 289 proven. 324 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:15,507 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:43:22,173 INFO L290 TraceCheckUtils]: 98: Hoare triple {71071#false} assume !false; {71071#false} is VALID [2022-04-28 10:43:22,173 INFO L290 TraceCheckUtils]: 97: Hoare triple {71071#false} assume 0 == ~cond; {71071#false} is VALID [2022-04-28 10:43:22,174 INFO L290 TraceCheckUtils]: 96: Hoare triple {71071#false} ~cond := #in~cond; {71071#false} is VALID [2022-04-28 10:43:22,174 INFO L272 TraceCheckUtils]: 95: Hoare triple {71071#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {71071#false} is VALID [2022-04-28 10:43:22,174 INFO L290 TraceCheckUtils]: 94: Hoare triple {71071#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {71071#false} is VALID [2022-04-28 10:43:22,174 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {71202#(<= 35 |student_version_#in~w|)} {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} #89#return; {71071#false} is VALID [2022-04-28 10:43:22,175 INFO L290 TraceCheckUtils]: 92: Hoare triple {71202#(<= 35 |student_version_#in~w|)} assume true; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:22,175 INFO L290 TraceCheckUtils]: 91: Hoare triple {71202#(<= 35 |student_version_#in~w|)} #res := ~is_divisible~1; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:22,175 INFO L290 TraceCheckUtils]: 90: Hoare triple {71202#(<= 35 |student_version_#in~w|)} assume ~i~1 != ~w;~is_divisible~1 := ~false~0; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:22,175 INFO L290 TraceCheckUtils]: 89: Hoare triple {71202#(<= 35 |student_version_#in~w|)} assume !(~i~1 < ~w); {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:22,176 INFO L290 TraceCheckUtils]: 88: Hoare triple {71202#(<= 35 |student_version_#in~w|)} ~i~1 := 2 + ~i~1; {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:22,176 INFO L290 TraceCheckUtils]: 87: Hoare triple {71574#(or (not (< student_version_~i~1 student_version_~w)) (<= 35 |student_version_#in~w|))} assume !!(~i~1 < ~w); {71202#(<= 35 |student_version_#in~w|)} is VALID [2022-04-28 10:43:22,176 INFO L290 TraceCheckUtils]: 86: Hoare triple {71578#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {71574#(or (not (< student_version_~i~1 student_version_~w)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,177 INFO L290 TraceCheckUtils]: 85: Hoare triple {71578#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} assume !!(~i~1 < ~w); {71578#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,177 INFO L290 TraceCheckUtils]: 84: Hoare triple {71585#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 35 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71578#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 2 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,177 INFO L290 TraceCheckUtils]: 83: Hoare triple {71585#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 35 |student_version_#in~w|))} assume !!(~i~1 < ~w); {71585#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,178 INFO L290 TraceCheckUtils]: 82: Hoare triple {71592#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {71585#(or (<= student_version_~w (+ student_version_~i~1 4)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,178 INFO L290 TraceCheckUtils]: 81: Hoare triple {71592#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} assume !!(~i~1 < ~w); {71592#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,179 INFO L290 TraceCheckUtils]: 80: Hoare triple {71599#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} ~i~1 := 2 + ~i~1; {71592#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 6 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,179 INFO L290 TraceCheckUtils]: 79: Hoare triple {71599#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} assume !!(~i~1 < ~w); {71599#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-28 10:43:22,179 INFO L290 TraceCheckUtils]: 78: Hoare triple {71606#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 35 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71599#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 8)))} is VALID [2022-04-28 10:43:22,180 INFO L290 TraceCheckUtils]: 77: Hoare triple {71606#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 35 |student_version_#in~w|))} assume !!(~i~1 < ~w); {71606#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,180 INFO L290 TraceCheckUtils]: 76: Hoare triple {71613#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 35 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71606#(or (<= student_version_~w (+ student_version_~i~1 10)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,180 INFO L290 TraceCheckUtils]: 75: Hoare triple {71613#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 35 |student_version_#in~w|))} assume !!(~i~1 < ~w); {71613#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,181 INFO L290 TraceCheckUtils]: 74: Hoare triple {71620#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {71613#(or (<= student_version_~w (+ student_version_~i~1 12)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,181 INFO L290 TraceCheckUtils]: 73: Hoare triple {71620#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} assume !!(~i~1 < ~w); {71620#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,182 INFO L290 TraceCheckUtils]: 72: Hoare triple {71627#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {71620#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 14 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,182 INFO L290 TraceCheckUtils]: 71: Hoare triple {71627#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} assume !!(~i~1 < ~w); {71627#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,182 INFO L290 TraceCheckUtils]: 70: Hoare triple {71634#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 35 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71627#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 16 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,183 INFO L290 TraceCheckUtils]: 69: Hoare triple {71634#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 35 |student_version_#in~w|))} assume !!(~i~1 < ~w); {71634#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,183 INFO L290 TraceCheckUtils]: 68: Hoare triple {71641#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} ~i~1 := 2 + ~i~1; {71634#(or (<= student_version_~w (+ student_version_~i~1 18)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,183 INFO L290 TraceCheckUtils]: 67: Hoare triple {71641#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} assume !!(~i~1 < ~w); {71641#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-28 10:43:22,184 INFO L290 TraceCheckUtils]: 66: Hoare triple {71648#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 35 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71641#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 20)))} is VALID [2022-04-28 10:43:22,184 INFO L290 TraceCheckUtils]: 65: Hoare triple {71648#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 35 |student_version_#in~w|))} assume !!(~i~1 < ~w); {71648#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,185 INFO L290 TraceCheckUtils]: 64: Hoare triple {71655#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 35 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71648#(or (<= student_version_~w (+ 22 student_version_~i~1)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,185 INFO L290 TraceCheckUtils]: 63: Hoare triple {71655#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 35 |student_version_#in~w|))} assume !!(~i~1 < ~w); {71655#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,185 INFO L290 TraceCheckUtils]: 62: Hoare triple {71662#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 35 |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {71655#(or (<= student_version_~w (+ student_version_~i~1 24)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,185 INFO L290 TraceCheckUtils]: 61: Hoare triple {71662#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 35 |student_version_#in~w|))} assume !!(~i~1 < ~w); {71662#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,186 INFO L290 TraceCheckUtils]: 60: Hoare triple {71669#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} ~i~1 := 2 + ~i~1; {71662#(or (<= student_version_~w (+ student_version_~i~1 26)) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,186 INFO L290 TraceCheckUtils]: 59: Hoare triple {71669#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} assume !!(~i~1 < ~w); {71669#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} is VALID [2022-04-28 10:43:22,187 INFO L290 TraceCheckUtils]: 58: Hoare triple {71676#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 30 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {71669#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 28)))} is VALID [2022-04-28 10:43:22,187 INFO L290 TraceCheckUtils]: 57: Hoare triple {71676#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 30 student_version_~i~1)))} assume !!(~i~1 < ~w); {71676#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 30 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,187 INFO L290 TraceCheckUtils]: 56: Hoare triple {71683#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 32 student_version_~i~1)))} ~i~1 := 2 + ~i~1; {71676#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 30 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,188 INFO L290 TraceCheckUtils]: 55: Hoare triple {71683#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 32 student_version_~i~1)))} assume !!(~i~1 < ~w); {71683#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 32 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,188 INFO L290 TraceCheckUtils]: 54: Hoare triple {71690#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 34)))} ~i~1 := 2 + ~i~1; {71683#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ 32 student_version_~i~1)))} is VALID [2022-04-28 10:43:22,188 INFO L290 TraceCheckUtils]: 53: Hoare triple {71690#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 34)))} assume !!(~i~1 < ~w); {71690#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 34)))} is VALID [2022-04-28 10:43:22,189 INFO L290 TraceCheckUtils]: 52: Hoare triple {71697#(or (<= student_version_~w 34) (<= 35 |student_version_#in~w|))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {71690#(or (<= 35 |student_version_#in~w|) (<= student_version_~w (+ student_version_~i~1 34)))} is VALID [2022-04-28 10:43:22,189 INFO L290 TraceCheckUtils]: 51: Hoare triple {71070#true} ~w := #in~w;~is_divisible~1 := ~true~0; {71697#(or (<= student_version_~w 34) (<= 35 |student_version_#in~w|))} is VALID [2022-04-28 10:43:22,189 INFO L272 TraceCheckUtils]: 50: Hoare triple {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {71070#true} is VALID [2022-04-28 10:43:22,189 INFO L290 TraceCheckUtils]: 49: Hoare triple {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} is VALID [2022-04-28 10:43:22,190 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {71181#(<= |correct_version_#in~w| 34)} {71070#true} #87#return; {71116#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 34)))} is VALID [2022-04-28 10:43:22,190 INFO L290 TraceCheckUtils]: 47: Hoare triple {71181#(<= |correct_version_#in~w| 34)} assume true; {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:22,191 INFO L290 TraceCheckUtils]: 46: Hoare triple {71181#(<= |correct_version_#in~w| 34)} #res := ~is_divisible~0; {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:22,191 INFO L290 TraceCheckUtils]: 45: Hoare triple {71181#(<= |correct_version_#in~w| 34)} assume !(~i~0 != ~w); {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:22,191 INFO L290 TraceCheckUtils]: 44: Hoare triple {71722#(or (<= |correct_version_#in~w| 34) (< correct_version_~i~0 correct_version_~w))} assume !(~i~0 < ~w); {71181#(<= |correct_version_#in~w| 34)} is VALID [2022-04-28 10:43:22,192 INFO L290 TraceCheckUtils]: 43: Hoare triple {71726#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 2) correct_version_~w))} ~i~0 := 2 + ~i~0; {71722#(or (<= |correct_version_#in~w| 34) (< correct_version_~i~0 correct_version_~w))} is VALID [2022-04-28 10:43:22,192 INFO L290 TraceCheckUtils]: 42: Hoare triple {71726#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 2) correct_version_~w))} assume !!(~i~0 < ~w); {71726#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-28 10:43:22,192 INFO L290 TraceCheckUtils]: 41: Hoare triple {71733#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 4) correct_version_~w))} ~i~0 := 2 + ~i~0; {71726#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 2) correct_version_~w))} is VALID [2022-04-28 10:43:22,193 INFO L290 TraceCheckUtils]: 40: Hoare triple {71733#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 4) correct_version_~w))} assume !!(~i~0 < ~w); {71733#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-28 10:43:22,193 INFO L290 TraceCheckUtils]: 39: Hoare triple {71740#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 34))} ~i~0 := 2 + ~i~0; {71733#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 4) correct_version_~w))} is VALID [2022-04-28 10:43:22,193 INFO L290 TraceCheckUtils]: 38: Hoare triple {71740#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 34))} assume !!(~i~0 < ~w); {71740#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,194 INFO L290 TraceCheckUtils]: 37: Hoare triple {71747#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 8) correct_version_~w))} ~i~0 := 2 + ~i~0; {71740#(or (< (+ correct_version_~i~0 6) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,194 INFO L290 TraceCheckUtils]: 36: Hoare triple {71747#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 8) correct_version_~w))} assume !!(~i~0 < ~w); {71747#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-28 10:43:22,194 INFO L290 TraceCheckUtils]: 35: Hoare triple {71754#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 10) correct_version_~w))} ~i~0 := 2 + ~i~0; {71747#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 8) correct_version_~w))} is VALID [2022-04-28 10:43:22,195 INFO L290 TraceCheckUtils]: 34: Hoare triple {71754#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 10) correct_version_~w))} assume !!(~i~0 < ~w); {71754#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-28 10:43:22,195 INFO L290 TraceCheckUtils]: 33: Hoare triple {71761#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 34))} ~i~0 := 2 + ~i~0; {71754#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 10) correct_version_~w))} is VALID [2022-04-28 10:43:22,195 INFO L290 TraceCheckUtils]: 32: Hoare triple {71761#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 34))} assume !!(~i~0 < ~w); {71761#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,196 INFO L290 TraceCheckUtils]: 31: Hoare triple {71768#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 14) correct_version_~w))} ~i~0 := 2 + ~i~0; {71761#(or (< (+ correct_version_~i~0 12) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,196 INFO L290 TraceCheckUtils]: 30: Hoare triple {71768#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 14) correct_version_~w))} assume !!(~i~0 < ~w); {71768#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-28 10:43:22,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {71775#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 16) correct_version_~w))} ~i~0 := 2 + ~i~0; {71768#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 14) correct_version_~w))} is VALID [2022-04-28 10:43:22,197 INFO L290 TraceCheckUtils]: 28: Hoare triple {71775#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 16) correct_version_~w))} assume !!(~i~0 < ~w); {71775#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-28 10:43:22,197 INFO L290 TraceCheckUtils]: 27: Hoare triple {71782#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 18) correct_version_~w))} ~i~0 := 2 + ~i~0; {71775#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 16) correct_version_~w))} is VALID [2022-04-28 10:43:22,198 INFO L290 TraceCheckUtils]: 26: Hoare triple {71782#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 18) correct_version_~w))} assume !!(~i~0 < ~w); {71782#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-28 10:43:22,198 INFO L290 TraceCheckUtils]: 25: Hoare triple {71789#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 20) correct_version_~w))} ~i~0 := 2 + ~i~0; {71782#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 18) correct_version_~w))} is VALID [2022-04-28 10:43:22,198 INFO L290 TraceCheckUtils]: 24: Hoare triple {71789#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 20) correct_version_~w))} assume !!(~i~0 < ~w); {71789#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-28 10:43:22,199 INFO L290 TraceCheckUtils]: 23: Hoare triple {71796#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 22) correct_version_~w))} ~i~0 := 2 + ~i~0; {71789#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 20) correct_version_~w))} is VALID [2022-04-28 10:43:22,199 INFO L290 TraceCheckUtils]: 22: Hoare triple {71796#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 22) correct_version_~w))} assume !!(~i~0 < ~w); {71796#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-28 10:43:22,200 INFO L290 TraceCheckUtils]: 21: Hoare triple {71803#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 34))} ~i~0 := 2 + ~i~0; {71796#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 22) correct_version_~w))} is VALID [2022-04-28 10:43:22,200 INFO L290 TraceCheckUtils]: 20: Hoare triple {71803#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 34))} assume !!(~i~0 < ~w); {71803#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {71810#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 26) correct_version_~w))} ~i~0 := 2 + ~i~0; {71803#(or (< (+ correct_version_~i~0 24) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,201 INFO L290 TraceCheckUtils]: 18: Hoare triple {71810#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 26) correct_version_~w))} assume !!(~i~0 < ~w); {71810#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 26) correct_version_~w))} is VALID [2022-04-28 10:43:22,201 INFO L290 TraceCheckUtils]: 17: Hoare triple {71817#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 34))} ~i~0 := 2 + ~i~0; {71810#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 26) correct_version_~w))} is VALID [2022-04-28 10:43:22,201 INFO L290 TraceCheckUtils]: 16: Hoare triple {71817#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 34))} assume !!(~i~0 < ~w); {71817#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {71824#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 30) correct_version_~w))} ~i~0 := 2 + ~i~0; {71817#(or (< (+ correct_version_~i~0 28) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,202 INFO L290 TraceCheckUtils]: 14: Hoare triple {71824#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 30) correct_version_~w))} assume !!(~i~0 < ~w); {71824#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 30) correct_version_~w))} is VALID [2022-04-28 10:43:22,203 INFO L290 TraceCheckUtils]: 13: Hoare triple {71831#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 32) correct_version_~w))} ~i~0 := 2 + ~i~0; {71824#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 30) correct_version_~w))} is VALID [2022-04-28 10:43:22,203 INFO L290 TraceCheckUtils]: 12: Hoare triple {71831#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 32) correct_version_~w))} assume !!(~i~0 < ~w); {71831#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 32) correct_version_~w))} is VALID [2022-04-28 10:43:22,203 INFO L290 TraceCheckUtils]: 11: Hoare triple {71838#(or (< (+ correct_version_~i~0 34) correct_version_~w) (<= |correct_version_#in~w| 34))} ~i~0 := 2 + ~i~0; {71831#(or (<= |correct_version_#in~w| 34) (< (+ correct_version_~i~0 32) correct_version_~w))} is VALID [2022-04-28 10:43:22,204 INFO L290 TraceCheckUtils]: 10: Hoare triple {71838#(or (< (+ correct_version_~i~0 34) correct_version_~w) (<= |correct_version_#in~w| 34))} assume !!(~i~0 < ~w); {71838#(or (< (+ correct_version_~i~0 34) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {71845#(or (<= |correct_version_#in~w| 34) (< 34 correct_version_~w))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {71838#(or (< (+ correct_version_~i~0 34) correct_version_~w) (<= |correct_version_#in~w| 34))} is VALID [2022-04-28 10:43:22,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {71070#true} ~w := #in~w;~is_divisible~0 := ~true~0; {71845#(or (<= |correct_version_#in~w| 34) (< 34 correct_version_~w))} is VALID [2022-04-28 10:43:22,204 INFO L272 TraceCheckUtils]: 7: Hoare triple {71070#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {71070#true} is VALID [2022-04-28 10:43:22,204 INFO L290 TraceCheckUtils]: 6: Hoare triple {71070#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {71070#true} is VALID [2022-04-28 10:43:22,204 INFO L290 TraceCheckUtils]: 5: Hoare triple {71070#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {71070#true} is VALID [2022-04-28 10:43:22,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {71070#true} call #t~ret7 := main(); {71070#true} is VALID [2022-04-28 10:43:22,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {71070#true} {71070#true} #93#return; {71070#true} is VALID [2022-04-28 10:43:22,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {71070#true} assume true; {71070#true} is VALID [2022-04-28 10:43:22,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {71070#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {71070#true} is VALID [2022-04-28 10:43:22,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {71070#true} call ULTIMATE.init(); {71070#true} is VALID [2022-04-28 10:43:22,205 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 324 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:22,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1387932929] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:43:22,205 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:43:22,205 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [46, 43, 43] total 122 [2022-04-28 10:43:22,205 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:43:22,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1332548430] [2022-04-28 10:43:22,205 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1332548430] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:43:22,205 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:43:22,205 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [46] imperfect sequences [] total 46 [2022-04-28 10:43:22,205 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1603490470] [2022-04-28 10:43:22,206 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:43:22,206 INFO L78 Accepts]: Start accepts. Automaton has has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 99 [2022-04-28 10:43:22,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:43:22,206 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:22,272 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-28 10:43:22,272 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 46 states [2022-04-28 10:43:22,272 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:43:22,272 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2022-04-28 10:43:22,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2453, Invalid=12309, Unknown=0, NotChecked=0, Total=14762 [2022-04-28 10:43:22,274 INFO L87 Difference]: Start difference. First operand 112 states and 117 transitions. Second operand has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:26,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:26,216 INFO L93 Difference]: Finished difference Result 127 states and 132 transitions. [2022-04-28 10:43:26,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2022-04-28 10:43:26,216 INFO L78 Accepts]: Start accepts. Automaton has has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 99 [2022-04-28 10:43:26,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:43:26,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:26,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 124 transitions. [2022-04-28 10:43:26,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:26,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 124 transitions. [2022-04-28 10:43:26,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 124 transitions. [2022-04-28 10:43:26,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:43:26,318 INFO L225 Difference]: With dead ends: 127 [2022-04-28 10:43:26,318 INFO L226 Difference]: Without dead ends: 115 [2022-04-28 10:43:26,319 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 287 GetRequests, 121 SyntacticMatches, 5 SemanticMatches, 161 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12450 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=4164, Invalid=22242, Unknown=0, NotChecked=0, Total=26406 [2022-04-28 10:43:26,319 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 132 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 820 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 135 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 870 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 820 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 10:43:26,320 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [135 Valid, 87 Invalid, 870 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 820 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 10:43:26,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-28 10:43:27,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 111. [2022-04-28 10:43:27,748 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:43:27,748 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 111 states, 99 states have (on average 1.0505050505050506) internal successors, (104), 101 states have internal predecessors, (104), 6 states have call successors, (6), 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-28 10:43:27,748 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 111 states, 99 states have (on average 1.0505050505050506) internal successors, (104), 101 states have internal predecessors, (104), 6 states have call successors, (6), 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-28 10:43:27,748 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 111 states, 99 states have (on average 1.0505050505050506) internal successors, (104), 101 states have internal predecessors, (104), 6 states have call successors, (6), 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-28 10:43:27,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:27,749 INFO L93 Difference]: Finished difference Result 115 states and 119 transitions. [2022-04-28 10:43:27,749 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 119 transitions. [2022-04-28 10:43:27,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:43:27,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:43:27,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 99 states have (on average 1.0505050505050506) internal successors, (104), 101 states have internal predecessors, (104), 6 states have call successors, (6), 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 115 states. [2022-04-28 10:43:27,750 INFO L87 Difference]: Start difference. First operand has 111 states, 99 states have (on average 1.0505050505050506) internal successors, (104), 101 states have internal predecessors, (104), 6 states have call successors, (6), 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 115 states. [2022-04-28 10:43:27,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:27,750 INFO L93 Difference]: Finished difference Result 115 states and 119 transitions. [2022-04-28 10:43:27,750 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 119 transitions. [2022-04-28 10:43:27,751 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:43:27,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:43:27,751 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:43:27,751 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:43:27,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 99 states have (on average 1.0505050505050506) internal successors, (104), 101 states have internal predecessors, (104), 6 states have call successors, (6), 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-28 10:43:27,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 115 transitions. [2022-04-28 10:43:27,752 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 115 transitions. Word has length 99 [2022-04-28 10:43:27,752 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:43:27,752 INFO L495 AbstractCegarLoop]: Abstraction has 111 states and 115 transitions. [2022-04-28 10:43:27,752 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:27,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 115 transitions. [2022-04-28 10:43:28,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:43:28,035 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 115 transitions. [2022-04-28 10:43:28,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 10:43:28,036 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:43:28,036 INFO L195 NwaCegarLoop]: trace histogram [18, 18, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:43:28,057 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Forceful destruction successful, exit code 0 [2022-04-28 10:43:28,239 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable70,68 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:43:28,239 INFO L420 AbstractCegarLoop]: === Iteration 72 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:43:28,240 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:43:28,240 INFO L85 PathProgramCache]: Analyzing trace with hash 1293415989, now seen corresponding path program 65 times [2022-04-28 10:43:28,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:43:28,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [390780480] [2022-04-28 10:43:28,242 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:43:28,242 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:43:28,242 INFO L85 PathProgramCache]: Analyzing trace with hash 1293415989, now seen corresponding path program 66 times [2022-04-28 10:43:28,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:43:28,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [719030763] [2022-04-28 10:43:28,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:43:28,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:43:28,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:28,293 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:43:28,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:28,296 INFO L290 TraceCheckUtils]: 0: Hoare triple {72750#(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; {72660#true} is VALID [2022-04-28 10:43:28,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {72660#true} assume true; {72660#true} is VALID [2022-04-28 10:43:28,296 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72660#true} {72660#true} #93#return; {72660#true} is VALID [2022-04-28 10:43:28,296 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:43:28,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:28,600 INFO L290 TraceCheckUtils]: 0: Hoare triple {72660#true} ~w := #in~w;~is_divisible~0 := ~true~0; {72751#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:43:28,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {72751#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {72752#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {72752#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {72752#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,601 INFO L290 TraceCheckUtils]: 3: Hoare triple {72752#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72753#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,601 INFO L290 TraceCheckUtils]: 4: Hoare triple {72753#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {72753#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {72753#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72754#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,602 INFO L290 TraceCheckUtils]: 6: Hoare triple {72754#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72754#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,603 INFO L290 TraceCheckUtils]: 7: Hoare triple {72754#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72755#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,603 INFO L290 TraceCheckUtils]: 8: Hoare triple {72755#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72755#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {72755#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72756#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,604 INFO L290 TraceCheckUtils]: 10: Hoare triple {72756#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72756#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {72756#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72757#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,605 INFO L290 TraceCheckUtils]: 12: Hoare triple {72757#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72757#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {72757#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72758#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {72758#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {72758#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {72758#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72759#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,606 INFO L290 TraceCheckUtils]: 16: Hoare triple {72759#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72759#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,607 INFO L290 TraceCheckUtils]: 17: Hoare triple {72759#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72760#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {72760#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {72760#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {72760#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72761#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {72761#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72761#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,608 INFO L290 TraceCheckUtils]: 21: Hoare triple {72761#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72762#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {72762#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72762#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {72762#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72763#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {72763#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72763#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,610 INFO L290 TraceCheckUtils]: 25: Hoare triple {72763#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72764#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,610 INFO L290 TraceCheckUtils]: 26: Hoare triple {72764#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72764#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,611 INFO L290 TraceCheckUtils]: 27: Hoare triple {72764#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72765#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,611 INFO L290 TraceCheckUtils]: 28: Hoare triple {72765#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {72765#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,611 INFO L290 TraceCheckUtils]: 29: Hoare triple {72765#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72766#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,612 INFO L290 TraceCheckUtils]: 30: Hoare triple {72766#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {72766#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:43:28,612 INFO L290 TraceCheckUtils]: 31: Hoare triple {72766#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72767#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,613 INFO L290 TraceCheckUtils]: 32: Hoare triple {72767#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72767#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,613 INFO L290 TraceCheckUtils]: 33: Hoare triple {72767#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72768#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,613 INFO L290 TraceCheckUtils]: 34: Hoare triple {72768#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72768#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,614 INFO L290 TraceCheckUtils]: 35: Hoare triple {72768#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72769#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {72769#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,615 INFO L290 TraceCheckUtils]: 37: Hoare triple {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,615 INFO L290 TraceCheckUtils]: 38: Hoare triple {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:28,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:28,616 INFO L290 TraceCheckUtils]: 40: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} #res := ~is_divisible~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:28,616 INFO L290 TraceCheckUtils]: 41: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} assume true; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:28,617 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {72771#(<= 35 |correct_version_#in~w|)} {72660#true} #87#return; {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} is VALID [2022-04-28 10:43:28,617 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 52 [2022-04-28 10:43:28,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:29,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {72660#true} ~w := #in~w;~is_divisible~1 := ~true~0; {72772#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:43:29,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {72772#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {72773#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:43:29,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {72773#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {72773#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:43:29,131 INFO L290 TraceCheckUtils]: 3: Hoare triple {72773#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {72774#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {72774#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72774#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {72774#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72775#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,132 INFO L290 TraceCheckUtils]: 6: Hoare triple {72775#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72775#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {72775#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72776#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:43:29,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {72776#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {72776#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:43:29,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {72776#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {72777#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {72777#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72777#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {72777#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72778#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:43:29,135 INFO L290 TraceCheckUtils]: 12: Hoare triple {72778#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {72778#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:43:29,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {72778#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {72779#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {72779#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72779#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,136 INFO L290 TraceCheckUtils]: 15: Hoare triple {72779#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72780#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:43:29,136 INFO L290 TraceCheckUtils]: 16: Hoare triple {72780#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {72780#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:43:29,136 INFO L290 TraceCheckUtils]: 17: Hoare triple {72780#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {72781#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:43:29,137 INFO L290 TraceCheckUtils]: 18: Hoare triple {72781#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {72781#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:43:29,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {72781#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {72782#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:43:29,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {72782#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {72782#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:43:29,138 INFO L290 TraceCheckUtils]: 21: Hoare triple {72782#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {72783#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {72783#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72783#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,139 INFO L290 TraceCheckUtils]: 23: Hoare triple {72783#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72784#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:43:29,139 INFO L290 TraceCheckUtils]: 24: Hoare triple {72784#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {72784#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:43:29,139 INFO L290 TraceCheckUtils]: 25: Hoare triple {72784#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {72785#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:43:29,140 INFO L290 TraceCheckUtils]: 26: Hoare triple {72785#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {72785#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:43:29,140 INFO L290 TraceCheckUtils]: 27: Hoare triple {72785#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {72786#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,140 INFO L290 TraceCheckUtils]: 28: Hoare triple {72786#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72786#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,141 INFO L290 TraceCheckUtils]: 29: Hoare triple {72786#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72787#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {72787#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72787#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {72787#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72788#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:43:29,142 INFO L290 TraceCheckUtils]: 32: Hoare triple {72788#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {72788#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:43:29,142 INFO L290 TraceCheckUtils]: 33: Hoare triple {72788#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {72789#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,142 INFO L290 TraceCheckUtils]: 34: Hoare triple {72789#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72789#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,143 INFO L290 TraceCheckUtils]: 35: Hoare triple {72789#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72790#(and (<= student_version_~i~1 34) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,143 INFO L290 TraceCheckUtils]: 36: Hoare triple {72790#(and (<= student_version_~i~1 34) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {72791#(and (<= student_version_~w 34) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,144 INFO L290 TraceCheckUtils]: 37: Hoare triple {72791#(and (<= student_version_~w 34) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:29,144 INFO L290 TraceCheckUtils]: 38: Hoare triple {72792#(<= |student_version_#in~w| 34)} #res := ~is_divisible~1; {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:29,144 INFO L290 TraceCheckUtils]: 39: Hoare triple {72792#(<= |student_version_#in~w| 34)} assume true; {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:29,145 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {72792#(<= |student_version_#in~w| 34)} {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} #89#return; {72661#false} is VALID [2022-04-28 10:43:29,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {72660#true} call ULTIMATE.init(); {72750#(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-28 10:43:29,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {72750#(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; {72660#true} is VALID [2022-04-28 10:43:29,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {72660#true} assume true; {72660#true} is VALID [2022-04-28 10:43:29,146 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72660#true} {72660#true} #93#return; {72660#true} is VALID [2022-04-28 10:43:29,146 INFO L272 TraceCheckUtils]: 4: Hoare triple {72660#true} call #t~ret7 := main(); {72660#true} is VALID [2022-04-28 10:43:29,146 INFO L290 TraceCheckUtils]: 5: Hoare triple {72660#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {72660#true} is VALID [2022-04-28 10:43:29,146 INFO L290 TraceCheckUtils]: 6: Hoare triple {72660#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {72660#true} is VALID [2022-04-28 10:43:29,146 INFO L272 TraceCheckUtils]: 7: Hoare triple {72660#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {72660#true} is VALID [2022-04-28 10:43:29,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {72660#true} ~w := #in~w;~is_divisible~0 := ~true~0; {72751#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:43:29,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {72751#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {72752#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,147 INFO L290 TraceCheckUtils]: 10: Hoare triple {72752#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {72752#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,147 INFO L290 TraceCheckUtils]: 11: Hoare triple {72752#(and (= |correct_version_#in~w| correct_version_~w) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72753#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {72753#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {72753#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,148 INFO L290 TraceCheckUtils]: 13: Hoare triple {72753#(and (= |correct_version_#in~w| correct_version_~w) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72754#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {72754#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72754#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,148 INFO L290 TraceCheckUtils]: 15: Hoare triple {72754#(and (<= 4 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72755#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,149 INFO L290 TraceCheckUtils]: 16: Hoare triple {72755#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72755#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,149 INFO L290 TraceCheckUtils]: 17: Hoare triple {72755#(and (<= 6 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72756#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,149 INFO L290 TraceCheckUtils]: 18: Hoare triple {72756#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72756#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,150 INFO L290 TraceCheckUtils]: 19: Hoare triple {72756#(and (<= 8 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72757#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {72757#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72757#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,151 INFO L290 TraceCheckUtils]: 21: Hoare triple {72757#(and (<= 10 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72758#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,151 INFO L290 TraceCheckUtils]: 22: Hoare triple {72758#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {72758#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,151 INFO L290 TraceCheckUtils]: 23: Hoare triple {72758#(and (= |correct_version_#in~w| correct_version_~w) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72759#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {72759#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72759#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {72759#(and (<= 14 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72760#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,152 INFO L290 TraceCheckUtils]: 26: Hoare triple {72760#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {72760#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,153 INFO L290 TraceCheckUtils]: 27: Hoare triple {72760#(and (= |correct_version_#in~w| correct_version_~w) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72761#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,153 INFO L290 TraceCheckUtils]: 28: Hoare triple {72761#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72761#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,153 INFO L290 TraceCheckUtils]: 29: Hoare triple {72761#(and (<= 18 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72762#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {72762#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72762#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {72762#(and (<= 20 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72763#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,154 INFO L290 TraceCheckUtils]: 32: Hoare triple {72763#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72763#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,155 INFO L290 TraceCheckUtils]: 33: Hoare triple {72763#(and (<= 22 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72764#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,155 INFO L290 TraceCheckUtils]: 34: Hoare triple {72764#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72764#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,156 INFO L290 TraceCheckUtils]: 35: Hoare triple {72764#(and (<= 24 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72765#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,156 INFO L290 TraceCheckUtils]: 36: Hoare triple {72765#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {72765#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,156 INFO L290 TraceCheckUtils]: 37: Hoare triple {72765#(and (= |correct_version_#in~w| correct_version_~w) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72766#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,157 INFO L290 TraceCheckUtils]: 38: Hoare triple {72766#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {72766#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:43:29,157 INFO L290 TraceCheckUtils]: 39: Hoare triple {72766#(and (= |correct_version_#in~w| correct_version_~w) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72767#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {72767#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72767#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,158 INFO L290 TraceCheckUtils]: 41: Hoare triple {72767#(and (<= 30 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72768#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,158 INFO L290 TraceCheckUtils]: 42: Hoare triple {72768#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72768#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,158 INFO L290 TraceCheckUtils]: 43: Hoare triple {72768#(and (<= 32 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72769#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,159 INFO L290 TraceCheckUtils]: 44: Hoare triple {72769#(and (<= 34 correct_version_~i~0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,159 INFO L290 TraceCheckUtils]: 45: Hoare triple {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,159 INFO L290 TraceCheckUtils]: 46: Hoare triple {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume !(~i~0 < ~w); {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:29,160 INFO L290 TraceCheckUtils]: 47: Hoare triple {72770#(and (<= 35 correct_version_~w) (= |correct_version_#in~w| correct_version_~w))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:29,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} #res := ~is_divisible~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:29,160 INFO L290 TraceCheckUtils]: 49: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} assume true; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:29,161 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {72771#(<= 35 |correct_version_#in~w|)} {72660#true} #87#return; {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} is VALID [2022-04-28 10:43:29,161 INFO L290 TraceCheckUtils]: 51: Hoare triple {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} is VALID [2022-04-28 10:43:29,162 INFO L272 TraceCheckUtils]: 52: Hoare triple {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) 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)); {72660#true} is VALID [2022-04-28 10:43:29,162 INFO L290 TraceCheckUtils]: 53: Hoare triple {72660#true} ~w := #in~w;~is_divisible~1 := ~true~0; {72772#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:43:29,162 INFO L290 TraceCheckUtils]: 54: Hoare triple {72772#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {72773#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:43:29,162 INFO L290 TraceCheckUtils]: 55: Hoare triple {72773#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {72773#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:43:29,163 INFO L290 TraceCheckUtils]: 56: Hoare triple {72773#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {72774#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,163 INFO L290 TraceCheckUtils]: 57: Hoare triple {72774#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72774#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,163 INFO L290 TraceCheckUtils]: 58: Hoare triple {72774#(and (<= student_version_~i~1 2) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72775#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,164 INFO L290 TraceCheckUtils]: 59: Hoare triple {72775#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72775#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,164 INFO L290 TraceCheckUtils]: 60: Hoare triple {72775#(and (<= student_version_~i~1 4) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72776#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:43:29,164 INFO L290 TraceCheckUtils]: 61: Hoare triple {72776#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {72776#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:43:29,165 INFO L290 TraceCheckUtils]: 62: Hoare triple {72776#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {72777#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,165 INFO L290 TraceCheckUtils]: 63: Hoare triple {72777#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72777#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,166 INFO L290 TraceCheckUtils]: 64: Hoare triple {72777#(and (<= student_version_~i~1 8) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72778#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:43:29,166 INFO L290 TraceCheckUtils]: 65: Hoare triple {72778#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {72778#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:43:29,166 INFO L290 TraceCheckUtils]: 66: Hoare triple {72778#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {72779#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,167 INFO L290 TraceCheckUtils]: 67: Hoare triple {72779#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72779#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,167 INFO L290 TraceCheckUtils]: 68: Hoare triple {72779#(and (<= student_version_~i~1 12) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72780#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:43:29,167 INFO L290 TraceCheckUtils]: 69: Hoare triple {72780#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {72780#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:43:29,168 INFO L290 TraceCheckUtils]: 70: Hoare triple {72780#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {72781#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:43:29,168 INFO L290 TraceCheckUtils]: 71: Hoare triple {72781#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {72781#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:43:29,168 INFO L290 TraceCheckUtils]: 72: Hoare triple {72781#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {72782#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:43:29,169 INFO L290 TraceCheckUtils]: 73: Hoare triple {72782#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {72782#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:43:29,169 INFO L290 TraceCheckUtils]: 74: Hoare triple {72782#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {72783#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,169 INFO L290 TraceCheckUtils]: 75: Hoare triple {72783#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72783#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,170 INFO L290 TraceCheckUtils]: 76: Hoare triple {72783#(and (<= student_version_~i~1 20) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72784#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:43:29,170 INFO L290 TraceCheckUtils]: 77: Hoare triple {72784#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {72784#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:43:29,170 INFO L290 TraceCheckUtils]: 78: Hoare triple {72784#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {72785#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:43:29,171 INFO L290 TraceCheckUtils]: 79: Hoare triple {72785#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {72785#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:43:29,171 INFO L290 TraceCheckUtils]: 80: Hoare triple {72785#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {72786#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,171 INFO L290 TraceCheckUtils]: 81: Hoare triple {72786#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72786#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,172 INFO L290 TraceCheckUtils]: 82: Hoare triple {72786#(and (<= student_version_~i~1 26) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72787#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,172 INFO L290 TraceCheckUtils]: 83: Hoare triple {72787#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72787#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,173 INFO L290 TraceCheckUtils]: 84: Hoare triple {72787#(and (<= student_version_~i~1 28) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72788#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:43:29,173 INFO L290 TraceCheckUtils]: 85: Hoare triple {72788#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {72788#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:43:29,173 INFO L290 TraceCheckUtils]: 86: Hoare triple {72788#(and (= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {72789#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,174 INFO L290 TraceCheckUtils]: 87: Hoare triple {72789#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {72789#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,174 INFO L290 TraceCheckUtils]: 88: Hoare triple {72789#(and (<= student_version_~i~1 32) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {72790#(and (<= student_version_~i~1 34) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,174 INFO L290 TraceCheckUtils]: 89: Hoare triple {72790#(and (<= student_version_~i~1 34) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {72791#(and (<= student_version_~w 34) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:29,175 INFO L290 TraceCheckUtils]: 90: Hoare triple {72791#(and (<= student_version_~w 34) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:29,175 INFO L290 TraceCheckUtils]: 91: Hoare triple {72792#(<= |student_version_#in~w| 34)} #res := ~is_divisible~1; {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:29,175 INFO L290 TraceCheckUtils]: 92: Hoare triple {72792#(<= |student_version_#in~w| 34)} assume true; {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:29,176 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {72792#(<= |student_version_#in~w| 34)} {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} #89#return; {72661#false} is VALID [2022-04-28 10:43:29,176 INFO L290 TraceCheckUtils]: 94: Hoare triple {72661#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {72661#false} is VALID [2022-04-28 10:43:29,176 INFO L272 TraceCheckUtils]: 95: Hoare triple {72661#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {72661#false} is VALID [2022-04-28 10:43:29,176 INFO L290 TraceCheckUtils]: 96: Hoare triple {72661#false} ~cond := #in~cond; {72661#false} is VALID [2022-04-28 10:43:29,176 INFO L290 TraceCheckUtils]: 97: Hoare triple {72661#false} assume 0 == ~cond; {72661#false} is VALID [2022-04-28 10:43:29,176 INFO L290 TraceCheckUtils]: 98: Hoare triple {72661#false} assume !false; {72661#false} is VALID [2022-04-28 10:43:29,176 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 289 proven. 324 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:29,176 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:43:29,176 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [719030763] [2022-04-28 10:43:29,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [719030763] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:43:29,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1237438965] [2022-04-28 10:43:29,177 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 10:43:29,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:43:29,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:43:29,178 INFO L229 MonitoredProcess]: Starting monitored process 69 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:43:29,178 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Waiting until timeout for monitored process [2022-04-28 10:43:29,368 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2022-04-28 10:43:29,368 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:43:29,369 INFO L263 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 10:43:29,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:29,390 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:43:31,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {72660#true} call ULTIMATE.init(); {72660#true} is VALID [2022-04-28 10:43:31,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {72660#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {72660#true} is VALID [2022-04-28 10:43:31,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {72660#true} assume true; {72660#true} is VALID [2022-04-28 10:43:31,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72660#true} {72660#true} #93#return; {72660#true} is VALID [2022-04-28 10:43:31,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {72660#true} call #t~ret7 := main(); {72660#true} is VALID [2022-04-28 10:43:31,239 INFO L290 TraceCheckUtils]: 5: Hoare triple {72660#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {72660#true} is VALID [2022-04-28 10:43:31,239 INFO L290 TraceCheckUtils]: 6: Hoare triple {72660#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {72660#true} is VALID [2022-04-28 10:43:31,239 INFO L272 TraceCheckUtils]: 7: Hoare triple {72660#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {72660#true} is VALID [2022-04-28 10:43:31,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {72660#true} ~w := #in~w;~is_divisible~0 := ~true~0; {72820#(<= correct_version_~w |correct_version_#in~w|)} is VALID [2022-04-28 10:43:31,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {72820#(<= correct_version_~w |correct_version_#in~w|)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {72824#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,240 INFO L290 TraceCheckUtils]: 10: Hoare triple {72824#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} assume !!(~i~0 < ~w); {72824#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {72824#(and (<= correct_version_~w |correct_version_#in~w|) (<= 0 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72831#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,241 INFO L290 TraceCheckUtils]: 12: Hoare triple {72831#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} assume !!(~i~0 < ~w); {72831#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,241 INFO L290 TraceCheckUtils]: 13: Hoare triple {72831#(and (<= correct_version_~w |correct_version_#in~w|) (<= 2 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72838#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,241 INFO L290 TraceCheckUtils]: 14: Hoare triple {72838#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} assume !!(~i~0 < ~w); {72838#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,242 INFO L290 TraceCheckUtils]: 15: Hoare triple {72838#(and (<= correct_version_~w |correct_version_#in~w|) (<= 4 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72845#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:43:31,242 INFO L290 TraceCheckUtils]: 16: Hoare triple {72845#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {72845#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:43:31,242 INFO L290 TraceCheckUtils]: 17: Hoare triple {72845#(and (<= 6 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {72852#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {72852#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} assume !!(~i~0 < ~w); {72852#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {72852#(and (<= correct_version_~w |correct_version_#in~w|) (<= 8 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72859#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:43:31,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {72859#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} assume !!(~i~0 < ~w); {72859#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} is VALID [2022-04-28 10:43:31,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {72859#(and (<= 10 correct_version_~i~0) (<= correct_version_~w |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {72866#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,244 INFO L290 TraceCheckUtils]: 22: Hoare triple {72866#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} assume !!(~i~0 < ~w); {72866#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {72866#(and (<= correct_version_~w |correct_version_#in~w|) (<= 12 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72873#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {72873#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} assume !!(~i~0 < ~w); {72873#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {72873#(and (<= correct_version_~w |correct_version_#in~w|) (<= 14 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72880#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,246 INFO L290 TraceCheckUtils]: 26: Hoare triple {72880#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} assume !!(~i~0 < ~w); {72880#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,246 INFO L290 TraceCheckUtils]: 27: Hoare triple {72880#(and (<= correct_version_~w |correct_version_#in~w|) (<= 16 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72887#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,246 INFO L290 TraceCheckUtils]: 28: Hoare triple {72887#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} assume !!(~i~0 < ~w); {72887#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {72887#(and (<= correct_version_~w |correct_version_#in~w|) (<= 18 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72894#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {72894#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} assume !!(~i~0 < ~w); {72894#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,248 INFO L290 TraceCheckUtils]: 31: Hoare triple {72894#(and (<= correct_version_~w |correct_version_#in~w|) (<= 20 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72901#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,248 INFO L290 TraceCheckUtils]: 32: Hoare triple {72901#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} assume !!(~i~0 < ~w); {72901#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,248 INFO L290 TraceCheckUtils]: 33: Hoare triple {72901#(and (<= correct_version_~w |correct_version_#in~w|) (<= 22 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72908#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,249 INFO L290 TraceCheckUtils]: 34: Hoare triple {72908#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} assume !!(~i~0 < ~w); {72908#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,249 INFO L290 TraceCheckUtils]: 35: Hoare triple {72908#(and (<= correct_version_~w |correct_version_#in~w|) (<= 24 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72915#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {72915#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} assume !!(~i~0 < ~w); {72915#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,250 INFO L290 TraceCheckUtils]: 37: Hoare triple {72915#(and (<= correct_version_~w |correct_version_#in~w|) (<= 26 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72922#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,250 INFO L290 TraceCheckUtils]: 38: Hoare triple {72922#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} assume !!(~i~0 < ~w); {72922#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,251 INFO L290 TraceCheckUtils]: 39: Hoare triple {72922#(and (<= correct_version_~w |correct_version_#in~w|) (<= 28 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72929#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,251 INFO L290 TraceCheckUtils]: 40: Hoare triple {72929#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} assume !!(~i~0 < ~w); {72929#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {72929#(and (<= correct_version_~w |correct_version_#in~w|) (<= 30 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72936#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,252 INFO L290 TraceCheckUtils]: 42: Hoare triple {72936#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} assume !!(~i~0 < ~w); {72936#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {72936#(and (<= correct_version_~w |correct_version_#in~w|) (<= 32 correct_version_~i~0))} ~i~0 := 2 + ~i~0; {72943#(and (<= correct_version_~w |correct_version_#in~w|) (<= 34 correct_version_~i~0))} is VALID [2022-04-28 10:43:31,252 INFO L290 TraceCheckUtils]: 44: Hoare triple {72943#(and (<= correct_version_~w |correct_version_#in~w|) (<= 34 correct_version_~i~0))} assume !!(~i~0 < ~w); {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:31,253 INFO L290 TraceCheckUtils]: 45: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:31,253 INFO L290 TraceCheckUtils]: 46: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} assume !(~i~0 < ~w); {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:31,253 INFO L290 TraceCheckUtils]: 47: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:31,253 INFO L290 TraceCheckUtils]: 48: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} #res := ~is_divisible~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:31,254 INFO L290 TraceCheckUtils]: 49: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} assume true; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:31,254 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {72771#(<= 35 |correct_version_#in~w|)} {72660#true} #87#return; {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} is VALID [2022-04-28 10:43:31,255 INFO L290 TraceCheckUtils]: 51: Hoare triple {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} is VALID [2022-04-28 10:43:31,255 INFO L272 TraceCheckUtils]: 52: Hoare triple {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) 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)); {72660#true} is VALID [2022-04-28 10:43:31,255 INFO L290 TraceCheckUtils]: 53: Hoare triple {72660#true} ~w := #in~w;~is_divisible~1 := ~true~0; {72974#(<= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:43:31,256 INFO L290 TraceCheckUtils]: 54: Hoare triple {72974#(<= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {72978#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:43:31,256 INFO L290 TraceCheckUtils]: 55: Hoare triple {72978#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} assume !!(~i~1 < ~w); {72978#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} is VALID [2022-04-28 10:43:31,256 INFO L290 TraceCheckUtils]: 56: Hoare triple {72978#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 0))} ~i~1 := 2 + ~i~1; {72985#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:43:31,257 INFO L290 TraceCheckUtils]: 57: Hoare triple {72985#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} assume !!(~i~1 < ~w); {72985#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} is VALID [2022-04-28 10:43:31,257 INFO L290 TraceCheckUtils]: 58: Hoare triple {72985#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 2))} ~i~1 := 2 + ~i~1; {72992#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:43:31,257 INFO L290 TraceCheckUtils]: 59: Hoare triple {72992#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} assume !!(~i~1 < ~w); {72992#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} is VALID [2022-04-28 10:43:31,258 INFO L290 TraceCheckUtils]: 60: Hoare triple {72992#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 4))} ~i~1 := 2 + ~i~1; {72999#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:43:31,258 INFO L290 TraceCheckUtils]: 61: Hoare triple {72999#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} assume !!(~i~1 < ~w); {72999#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} is VALID [2022-04-28 10:43:31,258 INFO L290 TraceCheckUtils]: 62: Hoare triple {72999#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 6))} ~i~1 := 2 + ~i~1; {73006#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-28 10:43:31,259 INFO L290 TraceCheckUtils]: 63: Hoare triple {73006#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} assume !!(~i~1 < ~w); {73006#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} is VALID [2022-04-28 10:43:31,259 INFO L290 TraceCheckUtils]: 64: Hoare triple {73006#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 8))} ~i~1 := 2 + ~i~1; {73013#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:43:31,259 INFO L290 TraceCheckUtils]: 65: Hoare triple {73013#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} assume !!(~i~1 < ~w); {73013#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} is VALID [2022-04-28 10:43:31,260 INFO L290 TraceCheckUtils]: 66: Hoare triple {73013#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 10))} ~i~1 := 2 + ~i~1; {73020#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-28 10:43:31,260 INFO L290 TraceCheckUtils]: 67: Hoare triple {73020#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} assume !!(~i~1 < ~w); {73020#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} is VALID [2022-04-28 10:43:31,261 INFO L290 TraceCheckUtils]: 68: Hoare triple {73020#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 12))} ~i~1 := 2 + ~i~1; {73027#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:43:31,261 INFO L290 TraceCheckUtils]: 69: Hoare triple {73027#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} assume !!(~i~1 < ~w); {73027#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} is VALID [2022-04-28 10:43:31,261 INFO L290 TraceCheckUtils]: 70: Hoare triple {73027#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 14))} ~i~1 := 2 + ~i~1; {73034#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:43:31,262 INFO L290 TraceCheckUtils]: 71: Hoare triple {73034#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} assume !!(~i~1 < ~w); {73034#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} is VALID [2022-04-28 10:43:31,262 INFO L290 TraceCheckUtils]: 72: Hoare triple {73034#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 16))} ~i~1 := 2 + ~i~1; {73041#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:43:31,262 INFO L290 TraceCheckUtils]: 73: Hoare triple {73041#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} assume !!(~i~1 < ~w); {73041#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} is VALID [2022-04-28 10:43:31,263 INFO L290 TraceCheckUtils]: 74: Hoare triple {73041#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 18))} ~i~1 := 2 + ~i~1; {73048#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-28 10:43:31,263 INFO L290 TraceCheckUtils]: 75: Hoare triple {73048#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} assume !!(~i~1 < ~w); {73048#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} is VALID [2022-04-28 10:43:31,264 INFO L290 TraceCheckUtils]: 76: Hoare triple {73048#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 20))} ~i~1 := 2 + ~i~1; {73055#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:43:31,264 INFO L290 TraceCheckUtils]: 77: Hoare triple {73055#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} assume !!(~i~1 < ~w); {73055#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} is VALID [2022-04-28 10:43:31,264 INFO L290 TraceCheckUtils]: 78: Hoare triple {73055#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 22))} ~i~1 := 2 + ~i~1; {73062#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:43:31,265 INFO L290 TraceCheckUtils]: 79: Hoare triple {73062#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} assume !!(~i~1 < ~w); {73062#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} is VALID [2022-04-28 10:43:31,265 INFO L290 TraceCheckUtils]: 80: Hoare triple {73062#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 24))} ~i~1 := 2 + ~i~1; {73069#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-28 10:43:31,265 INFO L290 TraceCheckUtils]: 81: Hoare triple {73069#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} assume !!(~i~1 < ~w); {73069#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} is VALID [2022-04-28 10:43:31,266 INFO L290 TraceCheckUtils]: 82: Hoare triple {73069#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 26))} ~i~1 := 2 + ~i~1; {73076#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-28 10:43:31,266 INFO L290 TraceCheckUtils]: 83: Hoare triple {73076#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} assume !!(~i~1 < ~w); {73076#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} is VALID [2022-04-28 10:43:31,266 INFO L290 TraceCheckUtils]: 84: Hoare triple {73076#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 28))} ~i~1 := 2 + ~i~1; {73083#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:43:31,267 INFO L290 TraceCheckUtils]: 85: Hoare triple {73083#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} assume !!(~i~1 < ~w); {73083#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} is VALID [2022-04-28 10:43:31,267 INFO L290 TraceCheckUtils]: 86: Hoare triple {73083#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 30))} ~i~1 := 2 + ~i~1; {73090#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} is VALID [2022-04-28 10:43:31,267 INFO L290 TraceCheckUtils]: 87: Hoare triple {73090#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} assume !!(~i~1 < ~w); {73090#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} is VALID [2022-04-28 10:43:31,268 INFO L290 TraceCheckUtils]: 88: Hoare triple {73090#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 32))} ~i~1 := 2 + ~i~1; {73097#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 34))} is VALID [2022-04-28 10:43:31,268 INFO L290 TraceCheckUtils]: 89: Hoare triple {73097#(and (<= |student_version_#in~w| student_version_~w) (<= student_version_~i~1 34))} assume !(~i~1 < ~w); {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:31,268 INFO L290 TraceCheckUtils]: 90: Hoare triple {72792#(<= |student_version_#in~w| 34)} assume !(~i~1 != ~w); {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:31,269 INFO L290 TraceCheckUtils]: 91: Hoare triple {72792#(<= |student_version_#in~w| 34)} #res := ~is_divisible~1; {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:31,269 INFO L290 TraceCheckUtils]: 92: Hoare triple {72792#(<= |student_version_#in~w| 34)} assume true; {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:31,270 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {72792#(<= |student_version_#in~w| 34)} {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} #89#return; {72661#false} is VALID [2022-04-28 10:43:31,270 INFO L290 TraceCheckUtils]: 94: Hoare triple {72661#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {72661#false} is VALID [2022-04-28 10:43:31,270 INFO L272 TraceCheckUtils]: 95: Hoare triple {72661#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {72661#false} is VALID [2022-04-28 10:43:31,270 INFO L290 TraceCheckUtils]: 96: Hoare triple {72661#false} ~cond := #in~cond; {72661#false} is VALID [2022-04-28 10:43:31,270 INFO L290 TraceCheckUtils]: 97: Hoare triple {72661#false} assume 0 == ~cond; {72661#false} is VALID [2022-04-28 10:43:31,270 INFO L290 TraceCheckUtils]: 98: Hoare triple {72661#false} assume !false; {72661#false} is VALID [2022-04-28 10:43:31,270 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 289 proven. 324 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:31,270 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:43:36,918 INFO L290 TraceCheckUtils]: 98: Hoare triple {72661#false} assume !false; {72661#false} is VALID [2022-04-28 10:43:36,919 INFO L290 TraceCheckUtils]: 97: Hoare triple {72661#false} assume 0 == ~cond; {72661#false} is VALID [2022-04-28 10:43:36,919 INFO L290 TraceCheckUtils]: 96: Hoare triple {72661#false} ~cond := #in~cond; {72661#false} is VALID [2022-04-28 10:43:36,919 INFO L272 TraceCheckUtils]: 95: Hoare triple {72661#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {72661#false} is VALID [2022-04-28 10:43:36,919 INFO L290 TraceCheckUtils]: 94: Hoare triple {72661#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {72661#false} is VALID [2022-04-28 10:43:36,920 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {72792#(<= |student_version_#in~w| 34)} {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} #89#return; {72661#false} is VALID [2022-04-28 10:43:36,920 INFO L290 TraceCheckUtils]: 92: Hoare triple {72792#(<= |student_version_#in~w| 34)} assume true; {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:36,920 INFO L290 TraceCheckUtils]: 91: Hoare triple {72792#(<= |student_version_#in~w| 34)} #res := ~is_divisible~1; {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:36,920 INFO L290 TraceCheckUtils]: 90: Hoare triple {72792#(<= |student_version_#in~w| 34)} assume !(~i~1 != ~w); {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:36,921 INFO L290 TraceCheckUtils]: 89: Hoare triple {73158#(or (<= |student_version_#in~w| 34) (< student_version_~i~1 student_version_~w))} assume !(~i~1 < ~w); {72792#(<= |student_version_#in~w| 34)} is VALID [2022-04-28 10:43:36,921 INFO L290 TraceCheckUtils]: 88: Hoare triple {73162#(or (<= |student_version_#in~w| 34) (< (+ 2 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {73158#(or (<= |student_version_#in~w| 34) (< student_version_~i~1 student_version_~w))} is VALID [2022-04-28 10:43:36,921 INFO L290 TraceCheckUtils]: 87: Hoare triple {73162#(or (<= |student_version_#in~w| 34) (< (+ 2 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {73162#(or (<= |student_version_#in~w| 34) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,922 INFO L290 TraceCheckUtils]: 86: Hoare triple {73169#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 4) student_version_~w))} ~i~1 := 2 + ~i~1; {73162#(or (<= |student_version_#in~w| 34) (< (+ 2 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,922 INFO L290 TraceCheckUtils]: 85: Hoare triple {73169#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 4) student_version_~w))} assume !!(~i~1 < ~w); {73169#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-28 10:43:36,923 INFO L290 TraceCheckUtils]: 84: Hoare triple {73176#(or (<= |student_version_#in~w| 34) (< (+ 6 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {73169#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 4) student_version_~w))} is VALID [2022-04-28 10:43:36,923 INFO L290 TraceCheckUtils]: 83: Hoare triple {73176#(or (<= |student_version_#in~w| 34) (< (+ 6 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {73176#(or (<= |student_version_#in~w| 34) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,923 INFO L290 TraceCheckUtils]: 82: Hoare triple {73183#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 34))} ~i~1 := 2 + ~i~1; {73176#(or (<= |student_version_#in~w| 34) (< (+ 6 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,924 INFO L290 TraceCheckUtils]: 81: Hoare triple {73183#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 34))} assume !!(~i~1 < ~w); {73183#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,924 INFO L290 TraceCheckUtils]: 80: Hoare triple {73190#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 10) student_version_~w))} ~i~1 := 2 + ~i~1; {73183#(or (< (+ student_version_~i~1 8) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,924 INFO L290 TraceCheckUtils]: 79: Hoare triple {73190#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 10) student_version_~w))} assume !!(~i~1 < ~w); {73190#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-28 10:43:36,925 INFO L290 TraceCheckUtils]: 78: Hoare triple {73197#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 12) student_version_~w))} ~i~1 := 2 + ~i~1; {73190#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 10) student_version_~w))} is VALID [2022-04-28 10:43:36,925 INFO L290 TraceCheckUtils]: 77: Hoare triple {73197#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 12) student_version_~w))} assume !!(~i~1 < ~w); {73197#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-28 10:43:36,925 INFO L290 TraceCheckUtils]: 76: Hoare triple {73204#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 34))} ~i~1 := 2 + ~i~1; {73197#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 12) student_version_~w))} is VALID [2022-04-28 10:43:36,926 INFO L290 TraceCheckUtils]: 75: Hoare triple {73204#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 34))} assume !!(~i~1 < ~w); {73204#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,926 INFO L290 TraceCheckUtils]: 74: Hoare triple {73211#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 34))} ~i~1 := 2 + ~i~1; {73204#(or (< (+ 14 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,927 INFO L290 TraceCheckUtils]: 73: Hoare triple {73211#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 34))} assume !!(~i~1 < ~w); {73211#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,927 INFO L290 TraceCheckUtils]: 72: Hoare triple {73218#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 34))} ~i~1 := 2 + ~i~1; {73211#(or (< (+ 16 student_version_~i~1) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,927 INFO L290 TraceCheckUtils]: 71: Hoare triple {73218#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 34))} assume !!(~i~1 < ~w); {73218#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,928 INFO L290 TraceCheckUtils]: 70: Hoare triple {73225#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 34))} ~i~1 := 2 + ~i~1; {73218#(or (< (+ student_version_~i~1 18) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,928 INFO L290 TraceCheckUtils]: 69: Hoare triple {73225#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 34))} assume !!(~i~1 < ~w); {73225#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,928 INFO L290 TraceCheckUtils]: 68: Hoare triple {73232#(or (<= |student_version_#in~w| 34) (< (+ 22 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {73225#(or (< (+ student_version_~i~1 20) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,929 INFO L290 TraceCheckUtils]: 67: Hoare triple {73232#(or (<= |student_version_#in~w| 34) (< (+ 22 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {73232#(or (<= |student_version_#in~w| 34) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,929 INFO L290 TraceCheckUtils]: 66: Hoare triple {73239#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 34))} ~i~1 := 2 + ~i~1; {73232#(or (<= |student_version_#in~w| 34) (< (+ 22 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,930 INFO L290 TraceCheckUtils]: 65: Hoare triple {73239#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 34))} assume !!(~i~1 < ~w); {73239#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,930 INFO L290 TraceCheckUtils]: 64: Hoare triple {73246#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 26) student_version_~w))} ~i~1 := 2 + ~i~1; {73239#(or (< (+ student_version_~i~1 24) student_version_~w) (<= |student_version_#in~w| 34))} is VALID [2022-04-28 10:43:36,930 INFO L290 TraceCheckUtils]: 63: Hoare triple {73246#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 26) student_version_~w))} assume !!(~i~1 < ~w); {73246#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-28 10:43:36,931 INFO L290 TraceCheckUtils]: 62: Hoare triple {73253#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 28) student_version_~w))} ~i~1 := 2 + ~i~1; {73246#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 26) student_version_~w))} is VALID [2022-04-28 10:43:36,931 INFO L290 TraceCheckUtils]: 61: Hoare triple {73253#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 28) student_version_~w))} assume !!(~i~1 < ~w); {73253#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-28 10:43:36,931 INFO L290 TraceCheckUtils]: 60: Hoare triple {73260#(or (<= |student_version_#in~w| 34) (< (+ 30 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {73253#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 28) student_version_~w))} is VALID [2022-04-28 10:43:36,932 INFO L290 TraceCheckUtils]: 59: Hoare triple {73260#(or (<= |student_version_#in~w| 34) (< (+ 30 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {73260#(or (<= |student_version_#in~w| 34) (< (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,932 INFO L290 TraceCheckUtils]: 58: Hoare triple {73267#(or (<= |student_version_#in~w| 34) (< (+ 32 student_version_~i~1) student_version_~w))} ~i~1 := 2 + ~i~1; {73260#(or (<= |student_version_#in~w| 34) (< (+ 30 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,932 INFO L290 TraceCheckUtils]: 57: Hoare triple {73267#(or (<= |student_version_#in~w| 34) (< (+ 32 student_version_~i~1) student_version_~w))} assume !!(~i~1 < ~w); {73267#(or (<= |student_version_#in~w| 34) (< (+ 32 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,933 INFO L290 TraceCheckUtils]: 56: Hoare triple {73274#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 34) student_version_~w))} ~i~1 := 2 + ~i~1; {73267#(or (<= |student_version_#in~w| 34) (< (+ 32 student_version_~i~1) student_version_~w))} is VALID [2022-04-28 10:43:36,933 INFO L290 TraceCheckUtils]: 55: Hoare triple {73274#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 34) student_version_~w))} assume !!(~i~1 < ~w); {73274#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 34) student_version_~w))} is VALID [2022-04-28 10:43:36,933 INFO L290 TraceCheckUtils]: 54: Hoare triple {73281#(or (<= |student_version_#in~w| 34) (< 34 student_version_~w))} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {73274#(or (<= |student_version_#in~w| 34) (< (+ student_version_~i~1 34) student_version_~w))} is VALID [2022-04-28 10:43:36,934 INFO L290 TraceCheckUtils]: 53: Hoare triple {72660#true} ~w := #in~w;~is_divisible~1 := ~true~0; {73281#(or (<= |student_version_#in~w| 34) (< 34 student_version_~w))} is VALID [2022-04-28 10:43:36,934 INFO L272 TraceCheckUtils]: 52: Hoare triple {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) 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)); {72660#true} is VALID [2022-04-28 10:43:36,934 INFO L290 TraceCheckUtils]: 51: Hoare triple {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} is VALID [2022-04-28 10:43:36,935 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {72771#(<= 35 |correct_version_#in~w|)} {72660#true} #87#return; {72708#(and (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647)) (<= (+ (* (div main_~w~0 4294967296) 4294967296) 35) main_~w~0))} is VALID [2022-04-28 10:43:36,935 INFO L290 TraceCheckUtils]: 49: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} assume true; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:36,935 INFO L290 TraceCheckUtils]: 48: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} #res := ~is_divisible~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:36,936 INFO L290 TraceCheckUtils]: 47: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:36,936 INFO L290 TraceCheckUtils]: 46: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} assume !(~i~0 < ~w); {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:36,936 INFO L290 TraceCheckUtils]: 45: Hoare triple {72771#(<= 35 |correct_version_#in~w|)} ~i~0 := 2 + ~i~0; {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:36,936 INFO L290 TraceCheckUtils]: 44: Hoare triple {73312#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {72771#(<= 35 |correct_version_#in~w|)} is VALID [2022-04-28 10:43:36,937 INFO L290 TraceCheckUtils]: 43: Hoare triple {73316#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73312#(or (not (< correct_version_~i~0 correct_version_~w)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,937 INFO L290 TraceCheckUtils]: 42: Hoare triple {73316#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73316#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,938 INFO L290 TraceCheckUtils]: 41: Hoare triple {73323#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73316#(or (<= correct_version_~w (+ correct_version_~i~0 2)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,938 INFO L290 TraceCheckUtils]: 40: Hoare triple {73323#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73323#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,938 INFO L290 TraceCheckUtils]: 39: Hoare triple {73330#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73323#(or (<= correct_version_~w (+ correct_version_~i~0 4)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,939 INFO L290 TraceCheckUtils]: 38: Hoare triple {73330#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73330#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,939 INFO L290 TraceCheckUtils]: 37: Hoare triple {73337#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73330#(or (<= correct_version_~w (+ correct_version_~i~0 6)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,939 INFO L290 TraceCheckUtils]: 36: Hoare triple {73337#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73337#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,940 INFO L290 TraceCheckUtils]: 35: Hoare triple {73344#(or (<= correct_version_~w (+ correct_version_~i~0 10)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73337#(or (<= correct_version_~w (+ correct_version_~i~0 8)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {73344#(or (<= correct_version_~w (+ correct_version_~i~0 10)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73344#(or (<= correct_version_~w (+ correct_version_~i~0 10)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,940 INFO L290 TraceCheckUtils]: 33: Hoare triple {73351#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} ~i~0 := 2 + ~i~0; {73344#(or (<= correct_version_~w (+ correct_version_~i~0 10)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,941 INFO L290 TraceCheckUtils]: 32: Hoare triple {73351#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} assume !!(~i~0 < ~w); {73351#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:43:36,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {73358#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} ~i~0 := 2 + ~i~0; {73351#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 12)))} is VALID [2022-04-28 10:43:36,942 INFO L290 TraceCheckUtils]: 30: Hoare triple {73358#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} assume !!(~i~0 < ~w); {73358#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-28 10:43:36,942 INFO L290 TraceCheckUtils]: 29: Hoare triple {73365#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} ~i~0 := 2 + ~i~0; {73358#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 14)))} is VALID [2022-04-28 10:43:36,942 INFO L290 TraceCheckUtils]: 28: Hoare triple {73365#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} assume !!(~i~0 < ~w); {73365#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-28 10:43:36,943 INFO L290 TraceCheckUtils]: 27: Hoare triple {73372#(or (<= correct_version_~w (+ correct_version_~i~0 18)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73365#(or (<= 35 |correct_version_#in~w|) (<= correct_version_~w (+ correct_version_~i~0 16)))} is VALID [2022-04-28 10:43:36,943 INFO L290 TraceCheckUtils]: 26: Hoare triple {73372#(or (<= correct_version_~w (+ correct_version_~i~0 18)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73372#(or (<= correct_version_~w (+ correct_version_~i~0 18)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,943 INFO L290 TraceCheckUtils]: 25: Hoare triple {73379#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73372#(or (<= correct_version_~w (+ correct_version_~i~0 18)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,944 INFO L290 TraceCheckUtils]: 24: Hoare triple {73379#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73379#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,944 INFO L290 TraceCheckUtils]: 23: Hoare triple {73386#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73379#(or (<= correct_version_~w (+ correct_version_~i~0 20)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,944 INFO L290 TraceCheckUtils]: 22: Hoare triple {73386#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73386#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,945 INFO L290 TraceCheckUtils]: 21: Hoare triple {73393#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73386#(or (<= correct_version_~w (+ correct_version_~i~0 22)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,945 INFO L290 TraceCheckUtils]: 20: Hoare triple {73393#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73393#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {73400#(or (<= correct_version_~w (+ correct_version_~i~0 26)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73393#(or (<= correct_version_~w (+ correct_version_~i~0 24)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {73400#(or (<= correct_version_~w (+ correct_version_~i~0 26)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73400#(or (<= correct_version_~w (+ correct_version_~i~0 26)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,946 INFO L290 TraceCheckUtils]: 17: Hoare triple {73407#(or (<= correct_version_~w (+ correct_version_~i~0 28)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73400#(or (<= correct_version_~w (+ correct_version_~i~0 26)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,947 INFO L290 TraceCheckUtils]: 16: Hoare triple {73407#(or (<= correct_version_~w (+ correct_version_~i~0 28)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73407#(or (<= correct_version_~w (+ correct_version_~i~0 28)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {73414#(or (<= correct_version_~w (+ correct_version_~i~0 30)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73407#(or (<= correct_version_~w (+ correct_version_~i~0 28)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,947 INFO L290 TraceCheckUtils]: 14: Hoare triple {73414#(or (<= correct_version_~w (+ correct_version_~i~0 30)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73414#(or (<= correct_version_~w (+ correct_version_~i~0 30)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {73421#(or (<= correct_version_~w (+ correct_version_~i~0 32)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73414#(or (<= correct_version_~w (+ correct_version_~i~0 30)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {73421#(or (<= correct_version_~w (+ correct_version_~i~0 32)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73421#(or (<= correct_version_~w (+ correct_version_~i~0 32)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {73428#(or (<= correct_version_~w (+ correct_version_~i~0 34)) (<= 35 |correct_version_#in~w|))} ~i~0 := 2 + ~i~0; {73421#(or (<= correct_version_~w (+ correct_version_~i~0 32)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,949 INFO L290 TraceCheckUtils]: 10: Hoare triple {73428#(or (<= correct_version_~w (+ correct_version_~i~0 34)) (<= 35 |correct_version_#in~w|))} assume !!(~i~0 < ~w); {73428#(or (<= correct_version_~w (+ correct_version_~i~0 34)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {73435#(or (<= correct_version_~w 34) (<= 35 |correct_version_#in~w|))} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {73428#(or (<= correct_version_~w (+ correct_version_~i~0 34)) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {72660#true} ~w := #in~w;~is_divisible~0 := ~true~0; {73435#(or (<= correct_version_~w 34) (<= 35 |correct_version_#in~w|))} is VALID [2022-04-28 10:43:36,950 INFO L272 TraceCheckUtils]: 7: Hoare triple {72660#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {72660#true} is VALID [2022-04-28 10:43:36,950 INFO L290 TraceCheckUtils]: 6: Hoare triple {72660#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {72660#true} is VALID [2022-04-28 10:43:36,950 INFO L290 TraceCheckUtils]: 5: Hoare triple {72660#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {72660#true} is VALID [2022-04-28 10:43:36,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {72660#true} call #t~ret7 := main(); {72660#true} is VALID [2022-04-28 10:43:36,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72660#true} {72660#true} #93#return; {72660#true} is VALID [2022-04-28 10:43:36,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {72660#true} assume true; {72660#true} is VALID [2022-04-28 10:43:36,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {72660#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {72660#true} is VALID [2022-04-28 10:43:36,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {72660#true} call ULTIMATE.init(); {72660#true} is VALID [2022-04-28 10:43:36,950 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 324 proven. 289 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:36,950 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1237438965] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:43:36,951 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:43:36,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [46, 43, 43] total 122 [2022-04-28 10:43:36,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:43:36,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [390780480] [2022-04-28 10:43:36,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [390780480] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:43:36,951 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:43:36,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [46] imperfect sequences [] total 46 [2022-04-28 10:43:36,951 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1043065141] [2022-04-28 10:43:36,951 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:43:36,951 INFO L78 Accepts]: Start accepts. Automaton has has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 99 [2022-04-28 10:43:36,951 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:43:36,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:37,013 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-28 10:43:37,013 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 46 states [2022-04-28 10:43:37,013 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:43:37,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2022-04-28 10:43:37,014 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=2453, Invalid=12309, Unknown=0, NotChecked=0, Total=14762 [2022-04-28 10:43:37,014 INFO L87 Difference]: Start difference. First operand 111 states and 115 transitions. Second operand has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:40,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:40,799 INFO L93 Difference]: Finished difference Result 121 states and 124 transitions. [2022-04-28 10:43:40,799 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2022-04-28 10:43:40,799 INFO L78 Accepts]: Start accepts. Automaton has has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 99 [2022-04-28 10:43:40,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:43:40,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:40,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 116 transitions. [2022-04-28 10:43:40,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:40,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 116 transitions. [2022-04-28 10:43:40,801 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 116 transitions. [2022-04-28 10:43:40,898 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-28 10:43:40,899 INFO L225 Difference]: With dead ends: 121 [2022-04-28 10:43:40,899 INFO L226 Difference]: Without dead ends: 111 [2022-04-28 10:43:40,901 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 287 GetRequests, 121 SyntacticMatches, 5 SemanticMatches, 161 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12343 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=4164, Invalid=22242, Unknown=0, NotChecked=0, Total=26406 [2022-04-28 10:43:40,901 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 102 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 817 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 103 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 870 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 817 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 10:43:40,901 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [103 Valid, 75 Invalid, 870 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 817 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 10:43:40,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-28 10:43:42,256 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 110. [2022-04-28 10:43:42,256 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:43:42,256 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 110 states, 98 states have (on average 1.0408163265306123) internal successors, (102), 100 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:43:42,256 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 110 states, 98 states have (on average 1.0408163265306123) internal successors, (102), 100 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:43:42,257 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 110 states, 98 states have (on average 1.0408163265306123) internal successors, (102), 100 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:43:42,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:42,257 INFO L93 Difference]: Finished difference Result 111 states and 114 transitions. [2022-04-28 10:43:42,258 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 114 transitions. [2022-04-28 10:43:42,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:43:42,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:43:42,258 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 98 states have (on average 1.0408163265306123) internal successors, (102), 100 states have internal predecessors, (102), 6 states have call successors, (6), 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 111 states. [2022-04-28 10:43:42,258 INFO L87 Difference]: Start difference. First operand has 110 states, 98 states have (on average 1.0408163265306123) internal successors, (102), 100 states have internal predecessors, (102), 6 states have call successors, (6), 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 111 states. [2022-04-28 10:43:42,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:43:42,259 INFO L93 Difference]: Finished difference Result 111 states and 114 transitions. [2022-04-28 10:43:42,259 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 114 transitions. [2022-04-28 10:43:42,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:43:42,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:43:42,259 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:43:42,259 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:43:42,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 98 states have (on average 1.0408163265306123) internal successors, (102), 100 states have internal predecessors, (102), 6 states have call successors, (6), 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-28 10:43:42,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 113 transitions. [2022-04-28 10:43:42,260 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 113 transitions. Word has length 99 [2022-04-28 10:43:42,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:43:42,260 INFO L495 AbstractCegarLoop]: Abstraction has 110 states and 113 transitions. [2022-04-28 10:43:42,260 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 46 states, 46 states have (on average 1.9782608695652173) internal successors, (91), 45 states have internal predecessors, (91), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 10:43:42,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 113 transitions. [2022-04-28 10:43:42,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:43:42,555 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 113 transitions. [2022-04-28 10:43:42,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 102 [2022-04-28 10:43:42,556 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:43:42,556 INFO L195 NwaCegarLoop]: trace histogram [18, 18, 18, 18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:43:42,572 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Forceful destruction successful, exit code 0 [2022-04-28 10:43:42,756 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 69 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable71 [2022-04-28 10:43:42,756 INFO L420 AbstractCegarLoop]: === Iteration 73 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:43:42,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:43:42,756 INFO L85 PathProgramCache]: Analyzing trace with hash -21010377, now seen corresponding path program 67 times [2022-04-28 10:43:42,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:43:42,757 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1919349652] [2022-04-28 10:43:42,759 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-28 10:43:42,759 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 10:43:42,759 INFO L85 PathProgramCache]: Analyzing trace with hash -21010377, now seen corresponding path program 68 times [2022-04-28 10:43:42,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:43:42,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1972942299] [2022-04-28 10:43:42,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:43:42,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:43:42,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:42,805 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:43:42,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:42,807 INFO L290 TraceCheckUtils]: 0: Hoare triple {74320#(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; {74228#true} is VALID [2022-04-28 10:43:42,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {74228#true} assume true; {74228#true} is VALID [2022-04-28 10:43:42,807 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74228#true} {74228#true} #93#return; {74228#true} is VALID [2022-04-28 10:43:42,807 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 10:43:42,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:43,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {74228#true} ~w := #in~w;~is_divisible~0 := ~true~0; {74321#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:43:43,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {74321#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {74322#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {74322#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74322#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,147 INFO L290 TraceCheckUtils]: 3: Hoare triple {74322#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74323#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,148 INFO L290 TraceCheckUtils]: 4: Hoare triple {74323#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74323#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {74323#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74324#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,148 INFO L290 TraceCheckUtils]: 6: Hoare triple {74324#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74324#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,149 INFO L290 TraceCheckUtils]: 7: Hoare triple {74324#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74325#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {74325#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74325#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {74325#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74326#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:43,150 INFO L290 TraceCheckUtils]: 10: Hoare triple {74326#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {74326#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:43,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {74326#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {74327#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,151 INFO L290 TraceCheckUtils]: 12: Hoare triple {74327#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74327#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,151 INFO L290 TraceCheckUtils]: 13: Hoare triple {74327#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74328#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,151 INFO L290 TraceCheckUtils]: 14: Hoare triple {74328#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74328#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,152 INFO L290 TraceCheckUtils]: 15: Hoare triple {74328#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74329#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:43,152 INFO L290 TraceCheckUtils]: 16: Hoare triple {74329#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {74329#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:43,152 INFO L290 TraceCheckUtils]: 17: Hoare triple {74329#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {74330#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,153 INFO L290 TraceCheckUtils]: 18: Hoare triple {74330#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74330#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,153 INFO L290 TraceCheckUtils]: 19: Hoare triple {74330#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74331#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:43,153 INFO L290 TraceCheckUtils]: 20: Hoare triple {74331#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {74331#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:43,154 INFO L290 TraceCheckUtils]: 21: Hoare triple {74331#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {74332#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {74332#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74332#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,155 INFO L290 TraceCheckUtils]: 23: Hoare triple {74332#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74333#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,155 INFO L290 TraceCheckUtils]: 24: Hoare triple {74333#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74333#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,155 INFO L290 TraceCheckUtils]: 25: Hoare triple {74333#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74334#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,156 INFO L290 TraceCheckUtils]: 26: Hoare triple {74334#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74334#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,156 INFO L290 TraceCheckUtils]: 27: Hoare triple {74334#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74335#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,156 INFO L290 TraceCheckUtils]: 28: Hoare triple {74335#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74335#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,157 INFO L290 TraceCheckUtils]: 29: Hoare triple {74335#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74336#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,157 INFO L290 TraceCheckUtils]: 30: Hoare triple {74336#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74336#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,157 INFO L290 TraceCheckUtils]: 31: Hoare triple {74336#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74337#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,158 INFO L290 TraceCheckUtils]: 32: Hoare triple {74337#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74337#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,158 INFO L290 TraceCheckUtils]: 33: Hoare triple {74337#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74338#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,158 INFO L290 TraceCheckUtils]: 34: Hoare triple {74338#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74338#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,159 INFO L290 TraceCheckUtils]: 35: Hoare triple {74338#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74339#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,159 INFO L290 TraceCheckUtils]: 36: Hoare triple {74339#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74339#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {74339#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74340#(and (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 36)))} is VALID [2022-04-28 10:43:43,160 INFO L290 TraceCheckUtils]: 38: Hoare triple {74340#(and (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 36)))} assume !(~i~0 < ~w); {74341#(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 36)))} is VALID [2022-04-28 10:43:43,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {74341#(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 36)))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:43,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {74342#(<= |correct_version_#in~w| 35)} #res := ~is_divisible~0; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:43,161 INFO L290 TraceCheckUtils]: 41: Hoare triple {74342#(<= |correct_version_#in~w| 35)} assume true; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:43,162 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {74342#(<= |correct_version_#in~w| 35)} {74228#true} #87#return; {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} is VALID [2022-04-28 10:43:43,162 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 52 [2022-04-28 10:43:43,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:43,525 INFO L290 TraceCheckUtils]: 0: Hoare triple {74228#true} ~w := #in~w;~is_divisible~1 := ~true~0; {74343#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:43:43,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {74343#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {74344#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {74344#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74344#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {74344#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74345#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,526 INFO L290 TraceCheckUtils]: 4: Hoare triple {74345#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74345#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {74345#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74346#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:43,527 INFO L290 TraceCheckUtils]: 6: Hoare triple {74346#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {74346#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:43,527 INFO L290 TraceCheckUtils]: 7: Hoare triple {74346#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74347#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:43:43,528 INFO L290 TraceCheckUtils]: 8: Hoare triple {74347#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {74347#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:43:43,528 INFO L290 TraceCheckUtils]: 9: Hoare triple {74347#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74348#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:43:43,528 INFO L290 TraceCheckUtils]: 10: Hoare triple {74348#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {74348#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:43:43,529 INFO L290 TraceCheckUtils]: 11: Hoare triple {74348#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74349#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,529 INFO L290 TraceCheckUtils]: 12: Hoare triple {74349#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74349#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,529 INFO L290 TraceCheckUtils]: 13: Hoare triple {74349#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74350#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:43:43,530 INFO L290 TraceCheckUtils]: 14: Hoare triple {74350#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {74350#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:43:43,530 INFO L290 TraceCheckUtils]: 15: Hoare triple {74350#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74351#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,530 INFO L290 TraceCheckUtils]: 16: Hoare triple {74351#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74351#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,531 INFO L290 TraceCheckUtils]: 17: Hoare triple {74351#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74352#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {74352#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74352#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {74352#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74353#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {74353#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74353#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,532 INFO L290 TraceCheckUtils]: 21: Hoare triple {74353#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74354#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:43:43,533 INFO L290 TraceCheckUtils]: 22: Hoare triple {74354#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {74354#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:43:43,533 INFO L290 TraceCheckUtils]: 23: Hoare triple {74354#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74355#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,533 INFO L290 TraceCheckUtils]: 24: Hoare triple {74355#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74355#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {74355#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74356#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,534 INFO L290 TraceCheckUtils]: 26: Hoare triple {74356#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74356#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,534 INFO L290 TraceCheckUtils]: 27: Hoare triple {74356#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74357#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,535 INFO L290 TraceCheckUtils]: 28: Hoare triple {74357#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74357#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,535 INFO L290 TraceCheckUtils]: 29: Hoare triple {74357#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74358#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,535 INFO L290 TraceCheckUtils]: 30: Hoare triple {74358#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74358#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,536 INFO L290 TraceCheckUtils]: 31: Hoare triple {74358#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74359#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:43:43,536 INFO L290 TraceCheckUtils]: 32: Hoare triple {74359#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {74359#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:43:43,536 INFO L290 TraceCheckUtils]: 33: Hoare triple {74359#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74360#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,537 INFO L290 TraceCheckUtils]: 34: Hoare triple {74360#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74360#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,537 INFO L290 TraceCheckUtils]: 35: Hoare triple {74360#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74361#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {74361#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74361#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,538 INFO L290 TraceCheckUtils]: 37: Hoare triple {74361#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74362#(and (<= 36 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {74362#(and (<= 36 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {74362#(and (<= 36 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,539 INFO L290 TraceCheckUtils]: 39: Hoare triple {74362#(and (<= 36 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:43,539 INFO L290 TraceCheckUtils]: 40: Hoare triple {74363#(<= 36 |student_version_#in~w|)} #res := ~is_divisible~1; {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:43,539 INFO L290 TraceCheckUtils]: 41: Hoare triple {74363#(<= 36 |student_version_#in~w|)} assume true; {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:43,540 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {74363#(<= 36 |student_version_#in~w|)} {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} #89#return; {74229#false} is VALID [2022-04-28 10:43:43,540 INFO L272 TraceCheckUtils]: 0: Hoare triple {74228#true} call ULTIMATE.init(); {74320#(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-28 10:43:43,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {74320#(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; {74228#true} is VALID [2022-04-28 10:43:43,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {74228#true} assume true; {74228#true} is VALID [2022-04-28 10:43:43,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74228#true} {74228#true} #93#return; {74228#true} is VALID [2022-04-28 10:43:43,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {74228#true} call #t~ret7 := main(); {74228#true} is VALID [2022-04-28 10:43:43,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {74228#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {74228#true} is VALID [2022-04-28 10:43:43,541 INFO L290 TraceCheckUtils]: 6: Hoare triple {74228#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {74228#true} is VALID [2022-04-28 10:43:43,541 INFO L272 TraceCheckUtils]: 7: Hoare triple {74228#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {74228#true} is VALID [2022-04-28 10:43:43,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {74228#true} ~w := #in~w;~is_divisible~0 := ~true~0; {74321#(= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:43:43,551 INFO L290 TraceCheckUtils]: 9: Hoare triple {74321#(= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {74322#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,552 INFO L290 TraceCheckUtils]: 10: Hoare triple {74322#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74322#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,552 INFO L290 TraceCheckUtils]: 11: Hoare triple {74322#(and (<= correct_version_~i~0 0) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74323#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,553 INFO L290 TraceCheckUtils]: 12: Hoare triple {74323#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74323#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {74323#(and (<= correct_version_~i~0 2) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74324#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,553 INFO L290 TraceCheckUtils]: 14: Hoare triple {74324#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74324#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,554 INFO L290 TraceCheckUtils]: 15: Hoare triple {74324#(and (<= correct_version_~i~0 4) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74325#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,554 INFO L290 TraceCheckUtils]: 16: Hoare triple {74325#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74325#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {74325#(and (<= correct_version_~i~0 6) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74326#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:43,555 INFO L290 TraceCheckUtils]: 18: Hoare triple {74326#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {74326#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:43,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {74326#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {74327#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {74327#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74327#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,556 INFO L290 TraceCheckUtils]: 21: Hoare triple {74327#(and (<= correct_version_~i~0 10) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74328#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,557 INFO L290 TraceCheckUtils]: 22: Hoare triple {74328#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74328#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,557 INFO L290 TraceCheckUtils]: 23: Hoare triple {74328#(and (<= correct_version_~i~0 12) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74329#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:43,557 INFO L290 TraceCheckUtils]: 24: Hoare triple {74329#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {74329#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:43,558 INFO L290 TraceCheckUtils]: 25: Hoare triple {74329#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {74330#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,558 INFO L290 TraceCheckUtils]: 26: Hoare triple {74330#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74330#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,559 INFO L290 TraceCheckUtils]: 27: Hoare triple {74330#(and (<= correct_version_~i~0 16) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74331#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:43,559 INFO L290 TraceCheckUtils]: 28: Hoare triple {74331#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {74331#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:43,559 INFO L290 TraceCheckUtils]: 29: Hoare triple {74331#(and (= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {74332#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,560 INFO L290 TraceCheckUtils]: 30: Hoare triple {74332#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74332#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,560 INFO L290 TraceCheckUtils]: 31: Hoare triple {74332#(and (<= correct_version_~i~0 20) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74333#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,560 INFO L290 TraceCheckUtils]: 32: Hoare triple {74333#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74333#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,561 INFO L290 TraceCheckUtils]: 33: Hoare triple {74333#(and (<= correct_version_~i~0 22) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74334#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,561 INFO L290 TraceCheckUtils]: 34: Hoare triple {74334#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74334#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,561 INFO L290 TraceCheckUtils]: 35: Hoare triple {74334#(and (<= correct_version_~i~0 24) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74335#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,562 INFO L290 TraceCheckUtils]: 36: Hoare triple {74335#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74335#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {74335#(and (<= correct_version_~i~0 26) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74336#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,562 INFO L290 TraceCheckUtils]: 38: Hoare triple {74336#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74336#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,563 INFO L290 TraceCheckUtils]: 39: Hoare triple {74336#(and (<= correct_version_~i~0 28) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74337#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {74337#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74337#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,564 INFO L290 TraceCheckUtils]: 41: Hoare triple {74337#(and (<= correct_version_~i~0 30) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74338#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,564 INFO L290 TraceCheckUtils]: 42: Hoare triple {74338#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74338#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,564 INFO L290 TraceCheckUtils]: 43: Hoare triple {74338#(and (<= correct_version_~i~0 32) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74339#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {74339#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} assume !!(~i~0 < ~w); {74339#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} is VALID [2022-04-28 10:43:43,565 INFO L290 TraceCheckUtils]: 45: Hoare triple {74339#(and (<= correct_version_~i~0 34) (= |correct_version_#in~w| correct_version_~w))} ~i~0 := 2 + ~i~0; {74340#(and (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 36)))} is VALID [2022-04-28 10:43:43,565 INFO L290 TraceCheckUtils]: 46: Hoare triple {74340#(and (= |correct_version_#in~w| correct_version_~w) (or (not (<= (+ correct_version_~w 1) correct_version_~i~0)) (<= correct_version_~i~0 36)))} assume !(~i~0 < ~w); {74341#(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 36)))} is VALID [2022-04-28 10:43:43,566 INFO L290 TraceCheckUtils]: 47: Hoare triple {74341#(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 36)))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:43,566 INFO L290 TraceCheckUtils]: 48: Hoare triple {74342#(<= |correct_version_#in~w| 35)} #res := ~is_divisible~0; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:43,566 INFO L290 TraceCheckUtils]: 49: Hoare triple {74342#(<= |correct_version_#in~w| 35)} assume true; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:43,567 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {74342#(<= |correct_version_#in~w| 35)} {74228#true} #87#return; {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} is VALID [2022-04-28 10:43:43,567 INFO L290 TraceCheckUtils]: 51: Hoare triple {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} is VALID [2022-04-28 10:43:43,568 INFO L272 TraceCheckUtils]: 52: Hoare triple {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {74228#true} is VALID [2022-04-28 10:43:43,568 INFO L290 TraceCheckUtils]: 53: Hoare triple {74228#true} ~w := #in~w;~is_divisible~1 := ~true~0; {74343#(= |student_version_#in~w| student_version_~w)} is VALID [2022-04-28 10:43:43,568 INFO L290 TraceCheckUtils]: 54: Hoare triple {74343#(= |student_version_#in~w| student_version_~w)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {74344#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,568 INFO L290 TraceCheckUtils]: 55: Hoare triple {74344#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74344#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,569 INFO L290 TraceCheckUtils]: 56: Hoare triple {74344#(and (<= 0 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74345#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,569 INFO L290 TraceCheckUtils]: 57: Hoare triple {74345#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74345#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,570 INFO L290 TraceCheckUtils]: 58: Hoare triple {74345#(and (<= 2 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74346#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:43,570 INFO L290 TraceCheckUtils]: 59: Hoare triple {74346#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {74346#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:43,570 INFO L290 TraceCheckUtils]: 60: Hoare triple {74346#(and (= |student_version_#in~w| student_version_~w) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74347#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:43:43,571 INFO L290 TraceCheckUtils]: 61: Hoare triple {74347#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} assume !!(~i~1 < ~w); {74347#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} is VALID [2022-04-28 10:43:43,571 INFO L290 TraceCheckUtils]: 62: Hoare triple {74347#(and (= |student_version_#in~w| student_version_~w) (<= 6 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74348#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:43:43,572 INFO L290 TraceCheckUtils]: 63: Hoare triple {74348#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} assume !!(~i~1 < ~w); {74348#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} is VALID [2022-04-28 10:43:43,572 INFO L290 TraceCheckUtils]: 64: Hoare triple {74348#(and (= |student_version_#in~w| student_version_~w) (<= 8 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74349#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,572 INFO L290 TraceCheckUtils]: 65: Hoare triple {74349#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74349#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,573 INFO L290 TraceCheckUtils]: 66: Hoare triple {74349#(and (<= 10 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74350#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:43:43,573 INFO L290 TraceCheckUtils]: 67: Hoare triple {74350#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} assume !!(~i~1 < ~w); {74350#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} is VALID [2022-04-28 10:43:43,574 INFO L290 TraceCheckUtils]: 68: Hoare triple {74350#(and (= |student_version_#in~w| student_version_~w) (<= 12 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74351#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,574 INFO L290 TraceCheckUtils]: 69: Hoare triple {74351#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74351#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,574 INFO L290 TraceCheckUtils]: 70: Hoare triple {74351#(and (<= 14 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74352#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,575 INFO L290 TraceCheckUtils]: 71: Hoare triple {74352#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74352#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,575 INFO L290 TraceCheckUtils]: 72: Hoare triple {74352#(and (<= 16 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74353#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,576 INFO L290 TraceCheckUtils]: 73: Hoare triple {74353#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74353#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,576 INFO L290 TraceCheckUtils]: 74: Hoare triple {74353#(and (<= 18 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74354#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:43:43,576 INFO L290 TraceCheckUtils]: 75: Hoare triple {74354#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} assume !!(~i~1 < ~w); {74354#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} is VALID [2022-04-28 10:43:43,577 INFO L290 TraceCheckUtils]: 76: Hoare triple {74354#(and (= |student_version_#in~w| student_version_~w) (<= 20 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74355#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,577 INFO L290 TraceCheckUtils]: 77: Hoare triple {74355#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74355#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,578 INFO L290 TraceCheckUtils]: 78: Hoare triple {74355#(and (<= 22 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74356#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,578 INFO L290 TraceCheckUtils]: 79: Hoare triple {74356#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74356#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,578 INFO L290 TraceCheckUtils]: 80: Hoare triple {74356#(and (<= 24 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74357#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,579 INFO L290 TraceCheckUtils]: 81: Hoare triple {74357#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74357#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,579 INFO L290 TraceCheckUtils]: 82: Hoare triple {74357#(and (<= 26 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74358#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,579 INFO L290 TraceCheckUtils]: 83: Hoare triple {74358#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74358#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,580 INFO L290 TraceCheckUtils]: 84: Hoare triple {74358#(and (<= 28 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74359#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:43:43,580 INFO L290 TraceCheckUtils]: 85: Hoare triple {74359#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} assume !!(~i~1 < ~w); {74359#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} is VALID [2022-04-28 10:43:43,581 INFO L290 TraceCheckUtils]: 86: Hoare triple {74359#(and (= |student_version_#in~w| student_version_~w) (<= 30 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74360#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,581 INFO L290 TraceCheckUtils]: 87: Hoare triple {74360#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74360#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,581 INFO L290 TraceCheckUtils]: 88: Hoare triple {74360#(and (<= 32 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74361#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,582 INFO L290 TraceCheckUtils]: 89: Hoare triple {74361#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !!(~i~1 < ~w); {74361#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,582 INFO L290 TraceCheckUtils]: 90: Hoare triple {74361#(and (<= 34 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} ~i~1 := 2 + ~i~1; {74362#(and (<= 36 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,583 INFO L290 TraceCheckUtils]: 91: Hoare triple {74362#(and (<= 36 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 < ~w); {74362#(and (<= 36 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} is VALID [2022-04-28 10:43:43,583 INFO L290 TraceCheckUtils]: 92: Hoare triple {74362#(and (<= 36 student_version_~i~1) (= |student_version_#in~w| student_version_~w))} assume !(~i~1 != ~w); {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:43,583 INFO L290 TraceCheckUtils]: 93: Hoare triple {74363#(<= 36 |student_version_#in~w|)} #res := ~is_divisible~1; {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:43,583 INFO L290 TraceCheckUtils]: 94: Hoare triple {74363#(<= 36 |student_version_#in~w|)} assume true; {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:43,584 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {74363#(<= 36 |student_version_#in~w|)} {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} #89#return; {74229#false} is VALID [2022-04-28 10:43:43,585 INFO L290 TraceCheckUtils]: 96: Hoare triple {74229#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {74229#false} is VALID [2022-04-28 10:43:43,585 INFO L272 TraceCheckUtils]: 97: Hoare triple {74229#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {74229#false} is VALID [2022-04-28 10:43:43,585 INFO L290 TraceCheckUtils]: 98: Hoare triple {74229#false} ~cond := #in~cond; {74229#false} is VALID [2022-04-28 10:43:43,585 INFO L290 TraceCheckUtils]: 99: Hoare triple {74229#false} assume 0 == ~cond; {74229#false} is VALID [2022-04-28 10:43:43,585 INFO L290 TraceCheckUtils]: 100: Hoare triple {74229#false} assume !false; {74229#false} is VALID [2022-04-28 10:43:43,585 INFO L134 CoverageAnalysis]: Checked inductivity of 648 backedges. 324 proven. 324 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:43,585 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:43:43,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1972942299] [2022-04-28 10:43:43,586 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1972942299] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:43:43,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1203718984] [2022-04-28 10:43:43,586 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:43:43,586 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:43:43,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:43:43,587 INFO L229 MonitoredProcess]: Starting monitored process 70 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 10:43:43,587 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Waiting until timeout for monitored process [2022-04-28 10:43:43,785 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:43:43,786 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:43:43,787 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 10:43:43,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:43:43,810 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:43:45,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {74228#true} call ULTIMATE.init(); {74228#true} is VALID [2022-04-28 10:43:45,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {74228#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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; {74228#true} is VALID [2022-04-28 10:43:45,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {74228#true} assume true; {74228#true} is VALID [2022-04-28 10:43:45,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74228#true} {74228#true} #93#return; {74228#true} is VALID [2022-04-28 10:43:45,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {74228#true} call #t~ret7 := main(); {74228#true} is VALID [2022-04-28 10:43:45,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {74228#true} ~w~0 := #t~nondet4;havoc #t~nondet4;~is_divisible1~0 := ~true~0;~is_divisible2~0 := ~true~0; {74228#true} is VALID [2022-04-28 10:43:45,627 INFO L290 TraceCheckUtils]: 6: Hoare triple {74228#true} assume ~w~0 % 4294967296 > 0 && ~w~0 % 4294967296 < 10000000; {74228#true} is VALID [2022-04-28 10:43:45,627 INFO L272 TraceCheckUtils]: 7: Hoare triple {74228#true} call #t~ret5 := correct_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {74228#true} is VALID [2022-04-28 10:43:45,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {74228#true} ~w := #in~w;~is_divisible~0 := ~true~0; {74391#(<= |correct_version_#in~w| correct_version_~w)} is VALID [2022-04-28 10:43:45,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {74391#(<= |correct_version_#in~w| correct_version_~w)} assume !(~w < 4);havoc ~i~0;~i~0 := 0; {74395#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:43:45,628 INFO L290 TraceCheckUtils]: 10: Hoare triple {74395#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} assume !!(~i~0 < ~w); {74395#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} is VALID [2022-04-28 10:43:45,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {74395#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 0))} ~i~0 := 2 + ~i~0; {74402#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:43:45,629 INFO L290 TraceCheckUtils]: 12: Hoare triple {74402#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} assume !!(~i~0 < ~w); {74402#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} is VALID [2022-04-28 10:43:45,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {74402#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 2))} ~i~0 := 2 + ~i~0; {74409#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:43:45,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {74409#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} assume !!(~i~0 < ~w); {74409#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} is VALID [2022-04-28 10:43:45,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {74409#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 4))} ~i~0 := 2 + ~i~0; {74416#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:43:45,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {74416#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} assume !!(~i~0 < ~w); {74416#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} is VALID [2022-04-28 10:43:45,631 INFO L290 TraceCheckUtils]: 17: Hoare triple {74416#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 6))} ~i~0 := 2 + ~i~0; {74423#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:45,631 INFO L290 TraceCheckUtils]: 18: Hoare triple {74423#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} assume !!(~i~0 < ~w); {74423#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} is VALID [2022-04-28 10:43:45,631 INFO L290 TraceCheckUtils]: 19: Hoare triple {74423#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 8))} ~i~0 := 2 + ~i~0; {74430#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:43:45,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {74430#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} assume !!(~i~0 < ~w); {74430#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} is VALID [2022-04-28 10:43:45,632 INFO L290 TraceCheckUtils]: 21: Hoare triple {74430#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 10))} ~i~0 := 2 + ~i~0; {74437#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:43:45,632 INFO L290 TraceCheckUtils]: 22: Hoare triple {74437#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} assume !!(~i~0 < ~w); {74437#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} is VALID [2022-04-28 10:43:45,633 INFO L290 TraceCheckUtils]: 23: Hoare triple {74437#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 12))} ~i~0 := 2 + ~i~0; {74444#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:45,633 INFO L290 TraceCheckUtils]: 24: Hoare triple {74444#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} assume !!(~i~0 < ~w); {74444#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} is VALID [2022-04-28 10:43:45,634 INFO L290 TraceCheckUtils]: 25: Hoare triple {74444#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 14))} ~i~0 := 2 + ~i~0; {74451#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:43:45,634 INFO L290 TraceCheckUtils]: 26: Hoare triple {74451#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} assume !!(~i~0 < ~w); {74451#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} is VALID [2022-04-28 10:43:45,634 INFO L290 TraceCheckUtils]: 27: Hoare triple {74451#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 16))} ~i~0 := 2 + ~i~0; {74458#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:45,635 INFO L290 TraceCheckUtils]: 28: Hoare triple {74458#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} assume !!(~i~0 < ~w); {74458#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} is VALID [2022-04-28 10:43:45,635 INFO L290 TraceCheckUtils]: 29: Hoare triple {74458#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 18))} ~i~0 := 2 + ~i~0; {74465#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:43:45,635 INFO L290 TraceCheckUtils]: 30: Hoare triple {74465#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} assume !!(~i~0 < ~w); {74465#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} is VALID [2022-04-28 10:43:45,636 INFO L290 TraceCheckUtils]: 31: Hoare triple {74465#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 20))} ~i~0 := 2 + ~i~0; {74472#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:43:45,636 INFO L290 TraceCheckUtils]: 32: Hoare triple {74472#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} assume !!(~i~0 < ~w); {74472#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} is VALID [2022-04-28 10:43:45,636 INFO L290 TraceCheckUtils]: 33: Hoare triple {74472#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 22))} ~i~0 := 2 + ~i~0; {74479#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:43:45,637 INFO L290 TraceCheckUtils]: 34: Hoare triple {74479#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} assume !!(~i~0 < ~w); {74479#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} is VALID [2022-04-28 10:43:45,637 INFO L290 TraceCheckUtils]: 35: Hoare triple {74479#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 24))} ~i~0 := 2 + ~i~0; {74486#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:43:45,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {74486#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} assume !!(~i~0 < ~w); {74486#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} is VALID [2022-04-28 10:43:45,638 INFO L290 TraceCheckUtils]: 37: Hoare triple {74486#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 26))} ~i~0 := 2 + ~i~0; {74493#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:43:45,638 INFO L290 TraceCheckUtils]: 38: Hoare triple {74493#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} assume !!(~i~0 < ~w); {74493#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} is VALID [2022-04-28 10:43:45,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {74493#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 28))} ~i~0 := 2 + ~i~0; {74500#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:43:45,639 INFO L290 TraceCheckUtils]: 40: Hoare triple {74500#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} assume !!(~i~0 < ~w); {74500#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} is VALID [2022-04-28 10:43:45,639 INFO L290 TraceCheckUtils]: 41: Hoare triple {74500#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 30))} ~i~0 := 2 + ~i~0; {74507#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} is VALID [2022-04-28 10:43:45,640 INFO L290 TraceCheckUtils]: 42: Hoare triple {74507#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} assume !!(~i~0 < ~w); {74507#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} is VALID [2022-04-28 10:43:45,640 INFO L290 TraceCheckUtils]: 43: Hoare triple {74507#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 32))} ~i~0 := 2 + ~i~0; {74514#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 34))} is VALID [2022-04-28 10:43:45,640 INFO L290 TraceCheckUtils]: 44: Hoare triple {74514#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 34))} assume !!(~i~0 < ~w); {74514#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 34))} is VALID [2022-04-28 10:43:45,641 INFO L290 TraceCheckUtils]: 45: Hoare triple {74514#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 34))} ~i~0 := 2 + ~i~0; {74521#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 36))} is VALID [2022-04-28 10:43:45,641 INFO L290 TraceCheckUtils]: 46: Hoare triple {74521#(and (<= |correct_version_#in~w| correct_version_~w) (<= correct_version_~i~0 36))} assume !(~i~0 < ~w); {74525#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 36))} is VALID [2022-04-28 10:43:45,642 INFO L290 TraceCheckUtils]: 47: Hoare triple {74525#(and (<= |correct_version_#in~w| correct_version_~w) (not (< correct_version_~i~0 correct_version_~w)) (<= correct_version_~i~0 36))} assume ~i~0 != ~w;~is_divisible~0 := ~false~0; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:45,642 INFO L290 TraceCheckUtils]: 48: Hoare triple {74342#(<= |correct_version_#in~w| 35)} #res := ~is_divisible~0; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:45,642 INFO L290 TraceCheckUtils]: 49: Hoare triple {74342#(<= |correct_version_#in~w| 35)} assume true; {74342#(<= |correct_version_#in~w| 35)} is VALID [2022-04-28 10:43:45,643 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {74342#(<= |correct_version_#in~w| 35)} {74228#true} #87#return; {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} is VALID [2022-04-28 10:43:45,643 INFO L290 TraceCheckUtils]: 51: Hoare triple {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~is_divisible1~0 := #t~ret5;havoc #t~ret5; {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} is VALID [2022-04-28 10:43:45,643 INFO L272 TraceCheckUtils]: 52: Hoare triple {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} call #t~ret6 := student_version((if ~w~0 % 4294967296 % 4294967296 <= 2147483647 then ~w~0 % 4294967296 % 4294967296 else ~w~0 % 4294967296 % 4294967296 - 4294967296)); {74228#true} is VALID [2022-04-28 10:43:45,644 INFO L290 TraceCheckUtils]: 53: Hoare triple {74228#true} ~w := #in~w;~is_divisible~1 := ~true~0; {74547#(<= student_version_~w |student_version_#in~w|)} is VALID [2022-04-28 10:43:45,644 INFO L290 TraceCheckUtils]: 54: Hoare triple {74547#(<= student_version_~w |student_version_#in~w|)} assume !(~w < 4);havoc ~i~1;~i~1 := 0; {74551#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,644 INFO L290 TraceCheckUtils]: 55: Hoare triple {74551#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74551#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,645 INFO L290 TraceCheckUtils]: 56: Hoare triple {74551#(and (<= 0 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74558#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,645 INFO L290 TraceCheckUtils]: 57: Hoare triple {74558#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74558#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,645 INFO L290 TraceCheckUtils]: 58: Hoare triple {74558#(and (<= 2 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74565#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:45,646 INFO L290 TraceCheckUtils]: 59: Hoare triple {74565#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} assume !!(~i~1 < ~w); {74565#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} is VALID [2022-04-28 10:43:45,646 INFO L290 TraceCheckUtils]: 60: Hoare triple {74565#(and (<= student_version_~w |student_version_#in~w|) (<= 4 student_version_~i~1))} ~i~1 := 2 + ~i~1; {74572#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,646 INFO L290 TraceCheckUtils]: 61: Hoare triple {74572#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74572#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,647 INFO L290 TraceCheckUtils]: 62: Hoare triple {74572#(and (<= 6 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74579#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,647 INFO L290 TraceCheckUtils]: 63: Hoare triple {74579#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74579#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,647 INFO L290 TraceCheckUtils]: 64: Hoare triple {74579#(and (<= 8 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74586#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,648 INFO L290 TraceCheckUtils]: 65: Hoare triple {74586#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74586#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,648 INFO L290 TraceCheckUtils]: 66: Hoare triple {74586#(and (<= 10 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74593#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,648 INFO L290 TraceCheckUtils]: 67: Hoare triple {74593#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74593#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,649 INFO L290 TraceCheckUtils]: 68: Hoare triple {74593#(and (<= 12 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74600#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,649 INFO L290 TraceCheckUtils]: 69: Hoare triple {74600#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74600#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,650 INFO L290 TraceCheckUtils]: 70: Hoare triple {74600#(and (<= 14 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74607#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,650 INFO L290 TraceCheckUtils]: 71: Hoare triple {74607#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74607#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,650 INFO L290 TraceCheckUtils]: 72: Hoare triple {74607#(and (<= 16 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74614#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,651 INFO L290 TraceCheckUtils]: 73: Hoare triple {74614#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74614#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,651 INFO L290 TraceCheckUtils]: 74: Hoare triple {74614#(and (<= 18 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74621#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,651 INFO L290 TraceCheckUtils]: 75: Hoare triple {74621#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74621#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,652 INFO L290 TraceCheckUtils]: 76: Hoare triple {74621#(and (<= 20 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74628#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,652 INFO L290 TraceCheckUtils]: 77: Hoare triple {74628#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74628#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,653 INFO L290 TraceCheckUtils]: 78: Hoare triple {74628#(and (<= 22 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74635#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,653 INFO L290 TraceCheckUtils]: 79: Hoare triple {74635#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74635#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,654 INFO L290 TraceCheckUtils]: 80: Hoare triple {74635#(and (<= 24 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74642#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,654 INFO L290 TraceCheckUtils]: 81: Hoare triple {74642#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74642#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,654 INFO L290 TraceCheckUtils]: 82: Hoare triple {74642#(and (<= 26 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74649#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,655 INFO L290 TraceCheckUtils]: 83: Hoare triple {74649#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74649#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,655 INFO L290 TraceCheckUtils]: 84: Hoare triple {74649#(and (<= 28 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74656#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,655 INFO L290 TraceCheckUtils]: 85: Hoare triple {74656#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74656#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,656 INFO L290 TraceCheckUtils]: 86: Hoare triple {74656#(and (<= 30 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74663#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,656 INFO L290 TraceCheckUtils]: 87: Hoare triple {74663#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74663#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,656 INFO L290 TraceCheckUtils]: 88: Hoare triple {74663#(and (<= 32 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74670#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,657 INFO L290 TraceCheckUtils]: 89: Hoare triple {74670#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !!(~i~1 < ~w); {74670#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,657 INFO L290 TraceCheckUtils]: 90: Hoare triple {74670#(and (<= 34 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} ~i~1 := 2 + ~i~1; {74677#(and (<= 36 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,657 INFO L290 TraceCheckUtils]: 91: Hoare triple {74677#(and (<= 36 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 < ~w); {74677#(and (<= 36 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} is VALID [2022-04-28 10:43:45,658 INFO L290 TraceCheckUtils]: 92: Hoare triple {74677#(and (<= 36 student_version_~i~1) (<= student_version_~w |student_version_#in~w|))} assume !(~i~1 != ~w); {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:45,658 INFO L290 TraceCheckUtils]: 93: Hoare triple {74363#(<= 36 |student_version_#in~w|)} #res := ~is_divisible~1; {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:45,658 INFO L290 TraceCheckUtils]: 94: Hoare triple {74363#(<= 36 |student_version_#in~w|)} assume true; {74363#(<= 36 |student_version_#in~w|)} is VALID [2022-04-28 10:43:45,659 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {74363#(<= 36 |student_version_#in~w|)} {74276#(or (not (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 2147483647))) (<= main_~w~0 (+ (* (div main_~w~0 4294967296) 4294967296) 35)))} #89#return; {74229#false} is VALID [2022-04-28 10:43:45,659 INFO L290 TraceCheckUtils]: 96: Hoare triple {74229#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~is_divisible2~0 := #t~ret6;havoc #t~ret6; {74229#false} is VALID [2022-04-28 10:43:45,659 INFO L272 TraceCheckUtils]: 97: Hoare triple {74229#false} call __VERIFIER_assert((if ~is_divisible1~0 == ~is_divisible2~0 then 1 else 0)); {74229#false} is VALID [2022-04-28 10:43:45,659 INFO L290 TraceCheckUtils]: 98: Hoare triple {74229#false} ~cond := #in~cond; {74229#false} is VALID [2022-04-28 10:43:45,659 INFO L290 TraceCheckUtils]: 99: Hoare triple {74229#false} assume 0 == ~cond; {74229#false} is VALID [2022-04-28 10:43:45,659 INFO L290 TraceCheckUtils]: 100: Hoare triple {74229#false} assume !false; {74229#false} is VALID [2022-04-28 10:43:45,663 INFO L134 CoverageAnalysis]: Checked inductivity of 648 backedges. 324 proven. 324 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 10:43:45,663 INFO L328 TraceCheckSpWp]: Computing backward predicates...