/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 06:15:37,407 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 06:15:37,433 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 06:15:37,476 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 06:15:37,477 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 06:15:37,478 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 06:15:37,482 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 06:15:37,487 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 06:15:37,489 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 06:15:37,492 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 06:15:37,493 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 06:15:37,494 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 06:15:37,495 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 06:15:37,497 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 06:15:37,498 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 06:15:37,500 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 06:15:37,500 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 06:15:37,501 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 06:15:37,504 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 06:15:37,510 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 06:15:37,512 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 06:15:37,513 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 06:15:37,514 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 06:15:37,515 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 06:15:37,517 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 06:15:37,523 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 06:15:37,523 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 06:15:37,523 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 06:15:37,524 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 06:15:37,524 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 06:15:37,525 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 06:15:37,525 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 06:15:37,526 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 06:15:37,527 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 06:15:37,528 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 06:15:37,528 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 06:15:37,528 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 06:15:37,529 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 06:15:37,529 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 06:15:37,529 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 06:15:37,530 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 06:15:37,531 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 06:15:37,532 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 06:15:37,541 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 06:15:37,542 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 06:15:37,543 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 06:15:37,543 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 06:15:37,543 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 06:15:37,543 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 06:15:37,543 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 06:15:37,543 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 06:15:37,543 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 06:15:37,544 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 06:15:37,544 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 06:15:37,544 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 06:15:37,544 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 06:15:37,545 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 06:15:37,545 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 06:15:37,545 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 06:15:37,545 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 06:15:37,545 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 06:15:37,545 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:15:37,545 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 06:15:37,545 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 06:15:37,546 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 06:15:37,546 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 06:15:37,546 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 06:15:37,546 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 06:15:37,546 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 06:15:37,784 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 06:15:37,807 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 06:15:37,809 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 06:15:37,810 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 06:15:37,811 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 06:15:37,812 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c [2022-04-28 06:15:37,874 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5a3acff7c/a67e46daa8ee41c18897c55349a6925a/FLAG9989fe62b [2022-04-28 06:15:38,273 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 06:15:38,273 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c [2022-04-28 06:15:38,281 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5a3acff7c/a67e46daa8ee41c18897c55349a6925a/FLAG9989fe62b [2022-04-28 06:15:38,293 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5a3acff7c/a67e46daa8ee41c18897c55349a6925a [2022-04-28 06:15:38,295 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 06:15:38,296 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 06:15:38,299 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 06:15:38,299 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 06:15:38,302 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 06:15:38,307 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,308 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3f5116d4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38, skipping insertion in model container [2022-04-28 06:15:38,308 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,314 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 06:15:38,326 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 06:15:38,472 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c[538,551] [2022-04-28 06:15:38,499 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:15:38,506 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 06:15:38,530 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound5.c[538,551] [2022-04-28 06:15:38,542 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 06:15:38,557 INFO L208 MainTranslator]: Completed translation [2022-04-28 06:15:38,558 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38 WrapperNode [2022-04-28 06:15:38,558 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 06:15:38,560 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 06:15:38,560 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 06:15:38,560 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 06:15:38,568 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,569 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,574 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,575 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,584 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,586 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,587 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,589 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 06:15:38,589 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 06:15:38,589 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 06:15:38,590 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 06:15:38,593 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (1/1) ... [2022-04-28 06:15:38,598 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 06:15:38,607 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:15:38,620 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 06:15:38,621 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 06:15:38,646 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 06:15:38,646 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 06:15:38,647 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 06:15:38,647 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 06:15:38,647 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 06:15:38,647 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 06:15:38,647 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 06:15:38,648 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 06:15:38,648 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 06:15:38,648 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 06:15:38,648 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 06:15:38,649 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 06:15:38,650 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 06:15:38,650 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 06:15:38,650 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 06:15:38,650 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 06:15:38,650 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 06:15:38,651 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 06:15:38,651 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 06:15:38,651 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 06:15:38,711 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 06:15:38,713 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 06:15:38,885 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 06:15:38,891 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 06:15:38,891 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 06:15:38,892 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:15:38 BoogieIcfgContainer [2022-04-28 06:15:38,892 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 06:15:38,894 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 06:15:38,894 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 06:15:38,907 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 06:15:38,907 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 06:15:38" (1/3) ... [2022-04-28 06:15:38,907 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3359975a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:15:38, skipping insertion in model container [2022-04-28 06:15:38,908 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 06:15:38" (2/3) ... [2022-04-28 06:15:38,908 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3359975a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 06:15:38, skipping insertion in model container [2022-04-28 06:15:38,908 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 06:15:38" (3/3) ... [2022-04-28 06:15:38,909 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound5.c [2022-04-28 06:15:38,928 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 06:15:38,928 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 06:15:38,989 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 06:15:38,996 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@72f033ed, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6fe7f189 [2022-04-28 06:15:38,996 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 06:15:39,011 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 06:15:39,017 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 06:15:39,018 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:15:39,018 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:15:39,019 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:15:39,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:15:39,025 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-28 06:15:39,035 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:39,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2090300523] [2022-04-28 06:15:39,048 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:15:39,048 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 2 times [2022-04-28 06:15:39,050 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:15:39,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1318935127] [2022-04-28 06:15:39,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:15:39,051 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:15:39,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:39,240 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:15:39,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:39,257 INFO L290 TraceCheckUtils]: 0: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-28 06:15:39,257 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 06:15:39,257 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 06:15:39,258 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:15:39,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:39,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 06:15:39,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 06:15:39,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 06:15:39,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-28 06:15:39,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:15:39,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-28 06:15:39,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 06:15:39,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-28 06:15:39,271 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-28 06:15:39,272 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-28 06:15:39,272 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 06:15:39,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 06:15:39,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 06:15:39,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 06:15:39,273 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-28 06:15:39,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41#false} is VALID [2022-04-28 06:15:39,274 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 06:15:39,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-28 06:15:39,274 INFO L272 TraceCheckUtils]: 14: Hoare triple {41#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41#false} is VALID [2022-04-28 06:15:39,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 06:15:39,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 06:15:39,275 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 06:15:39,275 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 06:15:39,276 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:15:39,276 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1318935127] [2022-04-28 06:15:39,276 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1318935127] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:39,277 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:39,277 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:15:39,279 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:15:39,279 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2090300523] [2022-04-28 06:15:39,279 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2090300523] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:39,279 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:39,279 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 06:15:39,279 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1910511659] [2022-04-28 06:15:39,280 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:15:39,288 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 06:15:39,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:15:39,292 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:39,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:39,333 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 06:15:39,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:39,351 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 06:15:39,352 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:15:39,354 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:39,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:39,542 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-28 06:15:39,542 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 06:15:39,543 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 06:15:39,543 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:15:39,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:39,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-28 06:15:39,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:39,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-28 06:15:39,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-28 06:15:39,698 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 06:15:39,706 INFO L225 Difference]: With dead ends: 66 [2022-04-28 06:15:39,706 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 06:15:39,709 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 06:15:39,711 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:15:39,712 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 49 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:15:39,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 06:15:39,748 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-28 06:15:39,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:15:39,749 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:39,750 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:39,750 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:39,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:39,759 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 06:15:39,759 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:15:39,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:39,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:39,760 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-28 06:15:39,761 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-28 06:15:39,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:39,765 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 06:15:39,765 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 06:15:39,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:39,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:39,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:15:39,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:15:39,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:39,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 06:15:39,787 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-28 06:15:39,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:15:39,788 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 06:15:39,788 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:39,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 06:15:39,855 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:39,855 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 06:15:39,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 06:15:39,856 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:15:39,856 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:15:39,857 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 06:15:39,857 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:15:39,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:15:39,858 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-28 06:15:39,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:39,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [948001295] [2022-04-28 06:15:39,859 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:15:39,860 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 2 times [2022-04-28 06:15:39,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:15:39,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [497954890] [2022-04-28 06:15:39,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:15:39,865 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:15:39,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:39,978 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:15:39,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:40,011 INFO L290 TraceCheckUtils]: 0: Hoare triple {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {314#true} is VALID [2022-04-28 06:15:40,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 06:15:40,011 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-28 06:15:40,012 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:15:40,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:40,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-28 06:15:40,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-28 06:15:40,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 06:15:40,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-28 06:15:40,022 INFO L272 TraceCheckUtils]: 0: Hoare triple {314#true} call ULTIMATE.init(); {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:15:40,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {314#true} is VALID [2022-04-28 06:15:40,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 06:15:40,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#true} {314#true} #96#return; {314#true} is VALID [2022-04-28 06:15:40,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {314#true} call #t~ret8 := main(); {314#true} is VALID [2022-04-28 06:15:40,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {314#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {314#true} is VALID [2022-04-28 06:15:40,023 INFO L272 TraceCheckUtils]: 6: Hoare triple {314#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {314#true} is VALID [2022-04-28 06:15:40,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {314#true} ~cond := #in~cond; {314#true} is VALID [2022-04-28 06:15:40,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {314#true} assume !(0 == ~cond); {314#true} is VALID [2022-04-28 06:15:40,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {314#true} assume true; {314#true} is VALID [2022-04-28 06:15:40,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {314#true} {314#true} #80#return; {314#true} is VALID [2022-04-28 06:15:40,026 INFO L290 TraceCheckUtils]: 11: Hoare triple {314#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {323#(= main_~q~0 0)} is VALID [2022-04-28 06:15:40,026 INFO L290 TraceCheckUtils]: 12: Hoare triple {323#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-28 06:15:40,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {323#(= main_~q~0 0)} assume !!(#t~post6 < 5);havoc #t~post6; {323#(= main_~q~0 0)} is VALID [2022-04-28 06:15:40,028 INFO L272 TraceCheckUtils]: 14: Hoare triple {323#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {324#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:15:40,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {324#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {325#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:15:40,034 INFO L290 TraceCheckUtils]: 16: Hoare triple {325#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {315#false} is VALID [2022-04-28 06:15:40,034 INFO L290 TraceCheckUtils]: 17: Hoare triple {315#false} assume !false; {315#false} is VALID [2022-04-28 06:15:40,034 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 06:15:40,035 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:15:40,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [497954890] [2022-04-28 06:15:40,035 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [497954890] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:40,036 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:40,036 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:15:40,036 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:15:40,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [948001295] [2022-04-28 06:15:40,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [948001295] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:40,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:40,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:15:40,037 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [558993251] [2022-04-28 06:15:40,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:15:40,038 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 06:15:40,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:15:40,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:40,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:40,059 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:15:40,060 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:40,061 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:15:40,061 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:15:40,061 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:40,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:40,465 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-28 06:15:40,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:15:40,466 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 06:15:40,466 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:15:40,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:40,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 06:15:40,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:40,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 06:15:40,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 06:15:40,561 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 06:15:40,564 INFO L225 Difference]: With dead ends: 47 [2022-04-28 06:15:40,564 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 06:15:40,564 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:15:40,565 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:15:40,566 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 90 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:15:40,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 06:15:40,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-28 06:15:40,573 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:15:40,573 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:40,573 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:40,574 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:40,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:40,577 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 06:15:40,577 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-28 06:15:40,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:40,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:40,579 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 06:15:40,579 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 06:15:40,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:40,582 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-28 06:15:40,582 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-28 06:15:40,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:40,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:40,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:15:40,584 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:15:40,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:40,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-28 06:15:40,586 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-28 06:15:40,586 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:15:40,587 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-28 06:15:40,587 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 06:15:40,587 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 45 transitions. [2022-04-28 06:15:40,634 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 06:15:40,635 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-28 06:15:40,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-28 06:15:40,640 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:15:40,641 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] [2022-04-28 06:15:40,646 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 06:15:40,646 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:15:40,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:15:40,646 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-28 06:15:40,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:40,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [361156210] [2022-04-28 06:15:40,647 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:15:40,647 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 2 times [2022-04-28 06:15:40,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:15:40,648 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1338442539] [2022-04-28 06:15:40,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:15:40,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:15:40,668 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:15:40,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1066757799] [2022-04-28 06:15:40,668 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:15:40,668 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:15:40,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:15:40,674 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 06:15:40,675 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 06:15:40,723 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 06:15:40,723 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:15:40,724 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 06:15:40,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:40,736 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:15:40,909 INFO L272 TraceCheckUtils]: 0: Hoare triple {593#true} call ULTIMATE.init(); {593#true} is VALID [2022-04-28 06:15:40,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {593#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {601#(<= ~counter~0 0)} {593#true} #96#return; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,912 INFO L272 TraceCheckUtils]: 4: Hoare triple {601#(<= ~counter~0 0)} call #t~ret8 := main(); {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {601#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,913 INFO L272 TraceCheckUtils]: 6: Hoare triple {601#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,913 INFO L290 TraceCheckUtils]: 7: Hoare triple {601#(<= ~counter~0 0)} ~cond := #in~cond; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,914 INFO L290 TraceCheckUtils]: 8: Hoare triple {601#(<= ~counter~0 0)} assume !(0 == ~cond); {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,914 INFO L290 TraceCheckUtils]: 9: Hoare triple {601#(<= ~counter~0 0)} assume true; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,915 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {601#(<= ~counter~0 0)} {601#(<= ~counter~0 0)} #80#return; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,915 INFO L290 TraceCheckUtils]: 11: Hoare triple {601#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {601#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:40,916 INFO L290 TraceCheckUtils]: 12: Hoare triple {601#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {635#(<= |main_#t~post6| 0)} is VALID [2022-04-28 06:15:40,916 INFO L290 TraceCheckUtils]: 13: Hoare triple {635#(<= |main_#t~post6| 0)} assume !(#t~post6 < 5);havoc #t~post6; {594#false} is VALID [2022-04-28 06:15:40,916 INFO L290 TraceCheckUtils]: 14: Hoare triple {594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {594#false} is VALID [2022-04-28 06:15:40,917 INFO L290 TraceCheckUtils]: 15: Hoare triple {594#false} assume !(#t~post7 < 5);havoc #t~post7; {594#false} is VALID [2022-04-28 06:15:40,917 INFO L272 TraceCheckUtils]: 16: Hoare triple {594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {594#false} is VALID [2022-04-28 06:15:40,917 INFO L290 TraceCheckUtils]: 17: Hoare triple {594#false} ~cond := #in~cond; {594#false} is VALID [2022-04-28 06:15:40,917 INFO L290 TraceCheckUtils]: 18: Hoare triple {594#false} assume 0 == ~cond; {594#false} is VALID [2022-04-28 06:15:40,917 INFO L290 TraceCheckUtils]: 19: Hoare triple {594#false} assume !false; {594#false} is VALID [2022-04-28 06:15:40,918 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 06:15:40,918 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:15:40,918 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:15:40,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1338442539] [2022-04-28 06:15:40,918 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:15:40,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1066757799] [2022-04-28 06:15:40,919 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1066757799] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:40,919 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:40,919 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 06:15:40,919 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:15:40,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [361156210] [2022-04-28 06:15:40,920 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [361156210] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:40,920 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:40,920 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 06:15:40,920 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [315555672] [2022-04-28 06:15:40,920 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:15:40,920 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-28 06:15:40,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:15:40,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:15:40,935 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:40,936 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 06:15:40,936 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:40,936 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 06:15:40,936 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 06:15:40,936 INFO L87 Difference]: Start difference. First operand 36 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:15:41,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:41,038 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-28 06:15:41,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 06:15:41,038 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-28 06:15:41,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:15:41,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:15:41,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-28 06:15:41,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:15:41,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-28 06:15:41,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-28 06:15:41,104 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 06:15:41,110 INFO L225 Difference]: With dead ends: 52 [2022-04-28 06:15:41,110 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 06:15:41,110 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 06:15:41,116 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:15:41,120 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 107 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:15:41,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 06:15:41,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-28 06:15:41,140 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:15:41,141 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:41,143 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:41,143 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:41,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:41,146 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-28 06:15:41,146 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 06:15:41,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:41,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:41,148 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-28 06:15:41,148 INFO L87 Difference]: Start difference. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-28 06:15:41,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:41,152 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-28 06:15:41,152 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 06:15:41,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:41,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:41,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:15:41,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:15:41,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:41,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-28 06:15:41,161 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-28 06:15:41,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:15:41,161 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-28 06:15:41,161 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 06:15:41,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 47 transitions. [2022-04-28 06:15:41,205 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 06:15:41,205 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-28 06:15:41,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 06:15:41,206 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:15:41,206 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:15:41,228 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 06:15:41,427 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:15:41,427 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:15:41,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:15:41,428 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-28 06:15:41,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:41,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1727607010] [2022-04-28 06:15:41,429 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:15:41,429 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 2 times [2022-04-28 06:15:41,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:15:41,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1321747203] [2022-04-28 06:15:41,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:15:41,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:15:41,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:41,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 06:15:41,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:41,499 INFO L290 TraceCheckUtils]: 0: Hoare triple {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {912#true} is VALID [2022-04-28 06:15:41,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:15:41,499 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-28 06:15:41,499 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 06:15:41,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:41,503 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 06:15:41,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 06:15:41,504 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:15:41,504 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-28 06:15:41,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-28 06:15:41,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:41,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 06:15:41,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 06:15:41,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:15:41,511 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:15:41,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {912#true} call ULTIMATE.init(); {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 06:15:41,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {928#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {912#true} is VALID [2022-04-28 06:15:41,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:15:41,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {912#true} {912#true} #96#return; {912#true} is VALID [2022-04-28 06:15:41,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {912#true} call #t~ret8 := main(); {912#true} is VALID [2022-04-28 06:15:41,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {912#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {912#true} is VALID [2022-04-28 06:15:41,513 INFO L272 TraceCheckUtils]: 6: Hoare triple {912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {912#true} is VALID [2022-04-28 06:15:41,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 06:15:41,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 06:15:41,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:15:41,513 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {912#true} {912#true} #80#return; {912#true} is VALID [2022-04-28 06:15:41,514 INFO L290 TraceCheckUtils]: 11: Hoare triple {912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:15:41,515 INFO L290 TraceCheckUtils]: 12: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:15:41,515 INFO L290 TraceCheckUtils]: 13: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:15:41,515 INFO L272 TraceCheckUtils]: 14: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {912#true} is VALID [2022-04-28 06:15:41,516 INFO L290 TraceCheckUtils]: 15: Hoare triple {912#true} ~cond := #in~cond; {912#true} is VALID [2022-04-28 06:15:41,516 INFO L290 TraceCheckUtils]: 16: Hoare triple {912#true} assume !(0 == ~cond); {912#true} is VALID [2022-04-28 06:15:41,516 INFO L290 TraceCheckUtils]: 17: Hoare triple {912#true} assume true; {912#true} is VALID [2022-04-28 06:15:41,517 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {912#true} {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 06:15:41,518 INFO L272 TraceCheckUtils]: 19: Hoare triple {921#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {926#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:15:41,518 INFO L290 TraceCheckUtils]: 20: Hoare triple {926#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {927#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:15:41,518 INFO L290 TraceCheckUtils]: 21: Hoare triple {927#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {913#false} is VALID [2022-04-28 06:15:41,519 INFO L290 TraceCheckUtils]: 22: Hoare triple {913#false} assume !false; {913#false} is VALID [2022-04-28 06:15:41,519 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 06:15:41,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:15:41,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1321747203] [2022-04-28 06:15:41,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1321747203] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:41,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:41,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:15:41,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:15:41,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1727607010] [2022-04-28 06:15:41,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1727607010] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:41,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:41,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:15:41,520 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1922103276] [2022-04-28 06:15:41,520 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:15:41,521 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 06:15:41,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:15:41,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:15:41,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:41,539 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:15:41,539 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:41,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:15:41,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:15:41,540 INFO L87 Difference]: Start difference. First operand 38 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:15:41,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:41,954 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 06:15:41,954 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:15:41,954 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-28 06:15:41,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:15:41,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:15:41,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 06:15:41,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:15:41,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-28 06:15:41,958 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-28 06:15:42,054 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 06:15:42,056 INFO L225 Difference]: With dead ends: 52 [2022-04-28 06:15:42,056 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 06:15:42,056 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:15:42,057 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:15:42,057 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 83 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:15:42,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 06:15:42,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-28 06:15:42,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:15:42,072 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:42,072 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:42,073 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:42,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:42,075 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 06:15:42,075 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 06:15:42,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:42,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:42,076 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 06:15:42,076 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 06:15:42,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:42,078 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-28 06:15:42,078 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 06:15:42,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:42,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:42,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:15:42,079 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:15:42,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 06:15:42,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-28 06:15:42,081 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-28 06:15:42,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:15:42,081 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-28 06:15:42,081 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 06:15:42,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 50 transitions. [2022-04-28 06:15:42,134 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 06:15:42,134 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-28 06:15:42,135 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 06:15:42,135 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:15:42,135 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:15:42,135 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 06:15:42,135 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:15:42,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:15:42,136 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-28 06:15:42,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:42,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1169535275] [2022-04-28 06:15:42,136 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:15:42,136 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 2 times [2022-04-28 06:15:42,137 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:15:42,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [122625648] [2022-04-28 06:15:42,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:15:42,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:15:42,168 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:15:42,169 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1054802397] [2022-04-28 06:15:42,169 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:15:42,169 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:15:42,169 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:15:42,173 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 06:15:42,174 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 06:15:42,219 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:15:42,220 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:15:42,221 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:15:42,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:42,231 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:15:42,387 INFO L272 TraceCheckUtils]: 0: Hoare triple {1227#true} call ULTIMATE.init(); {1227#true} is VALID [2022-04-28 06:15:42,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {1227#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1227#true} is VALID [2022-04-28 06:15:42,388 INFO L290 TraceCheckUtils]: 2: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 06:15:42,388 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1227#true} {1227#true} #96#return; {1227#true} is VALID [2022-04-28 06:15:42,388 INFO L272 TraceCheckUtils]: 4: Hoare triple {1227#true} call #t~ret8 := main(); {1227#true} is VALID [2022-04-28 06:15:42,388 INFO L290 TraceCheckUtils]: 5: Hoare triple {1227#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1227#true} is VALID [2022-04-28 06:15:42,389 INFO L272 TraceCheckUtils]: 6: Hoare triple {1227#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1227#true} is VALID [2022-04-28 06:15:42,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 06:15:42,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 06:15:42,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 06:15:42,392 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1227#true} {1227#true} #80#return; {1227#true} is VALID [2022-04-28 06:15:42,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {1227#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:15:42,393 INFO L290 TraceCheckUtils]: 12: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:15:42,407 INFO L290 TraceCheckUtils]: 13: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:15:42,407 INFO L272 TraceCheckUtils]: 14: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1227#true} is VALID [2022-04-28 06:15:42,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 06:15:42,408 INFO L290 TraceCheckUtils]: 16: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 06:15:42,408 INFO L290 TraceCheckUtils]: 17: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 06:15:42,415 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:15:42,415 INFO L272 TraceCheckUtils]: 19: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1227#true} is VALID [2022-04-28 06:15:42,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {1227#true} ~cond := #in~cond; {1227#true} is VALID [2022-04-28 06:15:42,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {1227#true} assume !(0 == ~cond); {1227#true} is VALID [2022-04-28 06:15:42,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {1227#true} assume true; {1227#true} is VALID [2022-04-28 06:15:42,416 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1227#true} {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:15:42,417 INFO L272 TraceCheckUtils]: 24: Hoare triple {1265#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:15:42,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {1305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:15:42,418 INFO L290 TraceCheckUtils]: 26: Hoare triple {1309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1228#false} is VALID [2022-04-28 06:15:42,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {1228#false} assume !false; {1228#false} is VALID [2022-04-28 06:15:42,418 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 06:15:42,418 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:15:42,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:15:42,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [122625648] [2022-04-28 06:15:42,419 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:15:42,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1054802397] [2022-04-28 06:15:42,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1054802397] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:42,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:42,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:15:42,419 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:15:42,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1169535275] [2022-04-28 06:15:42,420 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1169535275] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:42,420 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:42,420 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:15:42,420 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1076678079] [2022-04-28 06:15:42,420 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:15:42,420 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 06:15:42,421 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:15:42,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:15:42,440 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 06:15:42,440 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:15:42,441 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:42,441 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:15:42,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:15:42,441 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:15:42,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:42,682 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-28 06:15:42,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:15:42,682 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 06:15:42,682 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:15:42,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:15:42,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-28 06:15:42,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:15:42,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-28 06:15:42,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-28 06:15:42,767 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 06:15:42,769 INFO L225 Difference]: With dead ends: 71 [2022-04-28 06:15:42,769 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 06:15:42,770 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:15:42,770 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 10 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:15:42,770 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 143 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:15:42,771 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 06:15:42,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-28 06:15:42,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:15:42,794 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:15:42,794 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:15:42,794 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:15:42,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:42,799 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-28 06:15:42,799 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 06:15:42,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:42,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:42,800 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-28 06:15:42,801 INFO L87 Difference]: Start difference. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-28 06:15:42,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:42,805 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-28 06:15:42,805 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 06:15:42,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:42,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:42,805 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:15:42,805 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:15:42,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:15:42,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-28 06:15:42,808 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-28 06:15:42,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:15:42,809 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-28 06:15:42,809 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 06:15:42,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 70 transitions. [2022-04-28 06:15:42,885 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:42,885 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-28 06:15:42,886 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 06:15:42,886 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:15:42,886 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-28 06:15:42,922 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 06:15:43,087 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 06:15:43,088 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:15:43,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:15:43,088 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-28 06:15:43,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:43,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1175866141] [2022-04-28 06:15:43,089 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:15:43,089 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 2 times [2022-04-28 06:15:43,089 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:15:43,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2020378380] [2022-04-28 06:15:43,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:15:43,089 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:15:43,103 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:15:43,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [864367846] [2022-04-28 06:15:43,103 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:15:43,103 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:15:43,103 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:15:43,104 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 06:15:43,128 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 06:15:43,157 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:15:43,157 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:15:43,158 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:15:43,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:43,168 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:15:43,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {1683#true} call ULTIMATE.init(); {1683#true} is VALID [2022-04-28 06:15:43,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {1683#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1691#(<= ~counter~0 0)} {1683#true} #96#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {1691#(<= ~counter~0 0)} call #t~ret8 := main(); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {1691#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,348 INFO L272 TraceCheckUtils]: 6: Hoare triple {1691#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {1691#(<= ~counter~0 0)} ~cond := #in~cond; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {1691#(<= ~counter~0 0)} assume !(0 == ~cond); {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {1691#(<= ~counter~0 0)} assume true; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,350 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1691#(<= ~counter~0 0)} {1691#(<= ~counter~0 0)} #80#return; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {1691#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1691#(<= ~counter~0 0)} is VALID [2022-04-28 06:15:43,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {1691#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {1725#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,352 INFO L272 TraceCheckUtils]: 14: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,352 INFO L290 TraceCheckUtils]: 15: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,352 INFO L290 TraceCheckUtils]: 16: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,353 INFO L290 TraceCheckUtils]: 17: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,353 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #82#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,354 INFO L272 TraceCheckUtils]: 19: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,354 INFO L290 TraceCheckUtils]: 21: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,355 INFO L290 TraceCheckUtils]: 22: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,356 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #84#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,357 INFO L272 TraceCheckUtils]: 24: Hoare triple {1725#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,357 INFO L290 TraceCheckUtils]: 25: Hoare triple {1725#(<= ~counter~0 1)} ~cond := #in~cond; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,357 INFO L290 TraceCheckUtils]: 26: Hoare triple {1725#(<= ~counter~0 1)} assume !(0 == ~cond); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,358 INFO L290 TraceCheckUtils]: 27: Hoare triple {1725#(<= ~counter~0 1)} assume true; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,358 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1725#(<= ~counter~0 1)} {1725#(<= ~counter~0 1)} #86#return; {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,359 INFO L290 TraceCheckUtils]: 29: Hoare triple {1725#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1725#(<= ~counter~0 1)} is VALID [2022-04-28 06:15:43,359 INFO L290 TraceCheckUtils]: 30: Hoare triple {1725#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1780#(<= |main_#t~post7| 1)} is VALID [2022-04-28 06:15:43,360 INFO L290 TraceCheckUtils]: 31: Hoare triple {1780#(<= |main_#t~post7| 1)} assume !(#t~post7 < 5);havoc #t~post7; {1684#false} is VALID [2022-04-28 06:15:43,360 INFO L272 TraceCheckUtils]: 32: Hoare triple {1684#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1684#false} is VALID [2022-04-28 06:15:43,360 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#false} ~cond := #in~cond; {1684#false} is VALID [2022-04-28 06:15:43,360 INFO L290 TraceCheckUtils]: 34: Hoare triple {1684#false} assume 0 == ~cond; {1684#false} is VALID [2022-04-28 06:15:43,360 INFO L290 TraceCheckUtils]: 35: Hoare triple {1684#false} assume !false; {1684#false} is VALID [2022-04-28 06:15:43,360 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:15:43,360 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:15:43,361 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:15:43,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2020378380] [2022-04-28 06:15:43,361 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:15:43,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [864367846] [2022-04-28 06:15:43,361 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [864367846] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:43,361 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:43,361 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:15:43,361 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:15:43,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1175866141] [2022-04-28 06:15:43,361 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1175866141] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:43,362 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:43,362 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:15:43,362 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [557470241] [2022-04-28 06:15:43,362 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:15:43,365 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 06:15:43,365 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:15:43,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:15:43,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:43,391 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:15:43,391 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:43,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:15:43,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:15:43,392 INFO L87 Difference]: Start difference. First operand 56 states and 70 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:15:43,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:43,529 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-28 06:15:43,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:15:43,529 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 06:15:43,529 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:15:43,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:15:43,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 06:15:43,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:15:43,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 06:15:43,533 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 06:15:43,592 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 06:15:43,595 INFO L225 Difference]: With dead ends: 76 [2022-04-28 06:15:43,595 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 06:15:43,596 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:15:43,597 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:15:43,598 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 117 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:15:43,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 06:15:43,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-28 06:15:43,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:15:43,646 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:15:43,647 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:15:43,647 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:15:43,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:43,649 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-28 06:15:43,649 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-28 06:15:43,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:43,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:43,650 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-28 06:15:43,650 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-28 06:15:43,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:43,653 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-28 06:15:43,653 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-28 06:15:43,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:15:43,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:15:43,653 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:15:43,654 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:15:43,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 06:15:43,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-28 06:15:43,656 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-28 06:15:43,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:15:43,657 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-28 06:15:43,657 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 06:15:43,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 78 transitions. [2022-04-28 06:15:43,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:43,744 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-28 06:15:43,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 06:15:43,746 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:15:43,746 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-28 06:15:43,772 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 06:15:43,959 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 06:15:43,959 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:15:43,960 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:15:43,960 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-28 06:15:43,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:43,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [949429922] [2022-04-28 06:15:43,960 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:15:43,960 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 2 times [2022-04-28 06:15:43,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:15:43,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564390065] [2022-04-28 06:15:43,961 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:15:43,961 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:15:44,002 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:15:44,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1887717400] [2022-04-28 06:15:44,002 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:15:44,002 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:15:44,002 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:15:44,003 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 06:15:44,036 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 06:15:44,064 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:15:44,065 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:15:44,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:15:44,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:15:44,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:15:59,461 INFO L272 TraceCheckUtils]: 0: Hoare triple {2221#true} call ULTIMATE.init(); {2221#true} is VALID [2022-04-28 06:15:59,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {2221#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2221#true} is VALID [2022-04-28 06:15:59,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:15:59,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2221#true} {2221#true} #96#return; {2221#true} is VALID [2022-04-28 06:15:59,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {2221#true} call #t~ret8 := main(); {2221#true} is VALID [2022-04-28 06:15:59,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {2221#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2221#true} is VALID [2022-04-28 06:15:59,462 INFO L272 TraceCheckUtils]: 6: Hoare triple {2221#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2221#true} is VALID [2022-04-28 06:15:59,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 06:15:59,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 06:15:59,463 INFO L290 TraceCheckUtils]: 9: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:15:59,463 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2221#true} {2221#true} #80#return; {2221#true} is VALID [2022-04-28 06:15:59,464 INFO L290 TraceCheckUtils]: 11: Hoare triple {2221#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,465 INFO L290 TraceCheckUtils]: 12: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,465 INFO L290 TraceCheckUtils]: 13: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,466 INFO L272 TraceCheckUtils]: 14: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2221#true} is VALID [2022-04-28 06:15:59,466 INFO L290 TraceCheckUtils]: 15: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 06:15:59,466 INFO L290 TraceCheckUtils]: 16: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 06:15:59,466 INFO L290 TraceCheckUtils]: 17: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:15:59,467 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,467 INFO L272 TraceCheckUtils]: 19: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2221#true} is VALID [2022-04-28 06:15:59,467 INFO L290 TraceCheckUtils]: 20: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 06:15:59,467 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 06:15:59,468 INFO L290 TraceCheckUtils]: 22: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:15:59,468 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,468 INFO L272 TraceCheckUtils]: 24: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2221#true} is VALID [2022-04-28 06:15:59,468 INFO L290 TraceCheckUtils]: 25: Hoare triple {2221#true} ~cond := #in~cond; {2221#true} is VALID [2022-04-28 06:15:59,468 INFO L290 TraceCheckUtils]: 26: Hoare triple {2221#true} assume !(0 == ~cond); {2221#true} is VALID [2022-04-28 06:15:59,469 INFO L290 TraceCheckUtils]: 27: Hoare triple {2221#true} assume true; {2221#true} is VALID [2022-04-28 06:15:59,469 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2221#true} {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,474 INFO L290 TraceCheckUtils]: 29: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,475 INFO L290 TraceCheckUtils]: 31: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post7 < 5);havoc #t~post7; {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:15:59,476 INFO L272 TraceCheckUtils]: 32: Hoare triple {2259#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:15:59,477 INFO L290 TraceCheckUtils]: 33: Hoare triple {2323#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2327#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:15:59,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {2327#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2222#false} is VALID [2022-04-28 06:15:59,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {2222#false} assume !false; {2222#false} is VALID [2022-04-28 06:15:59,478 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 06:15:59,478 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:15:59,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:15:59,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1564390065] [2022-04-28 06:15:59,479 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:15:59,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1887717400] [2022-04-28 06:15:59,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1887717400] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:59,480 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:59,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:15:59,480 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:15:59,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [949429922] [2022-04-28 06:15:59,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [949429922] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:15:59,480 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:15:59,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:15:59,480 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1826076243] [2022-04-28 06:15:59,480 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:15:59,481 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-28 06:15:59,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:15:59,481 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:15:59,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:15:59,521 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:15:59,521 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:15:59,521 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:15:59,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:15:59,522 INFO L87 Difference]: Start difference. First operand 68 states and 78 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:15:59,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:15:59,864 INFO L93 Difference]: Finished difference Result 82 states and 97 transitions. [2022-04-28 06:15:59,864 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:15:59,864 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-28 06:15:59,865 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:15:59,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:15:59,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-28 06:15:59,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:15:59,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-04-28 06:15:59,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-04-28 06:15:59,926 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 06:15:59,928 INFO L225 Difference]: With dead ends: 82 [2022-04-28 06:15:59,929 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 06:15:59,929 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 06:15:59,930 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 11 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:15:59,930 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 118 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:15:59,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 06:16:00,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2022-04-28 06:16:00,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:00,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:16:00,005 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:16:00,005 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:16:00,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:00,007 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 06:16:00,007 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 06:16:00,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:00,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:00,008 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-28 06:16:00,009 INFO L87 Difference]: Start difference. First operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 70 states. [2022-04-28 06:16:00,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:00,013 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 06:16:00,013 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 06:16:00,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:00,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:00,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:00,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:00,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 43 states have (on average 1.2093023255813953) internal successors, (52), 45 states have internal predecessors, (52), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:16:00,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-28 06:16:00,018 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 36 [2022-04-28 06:16:00,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:00,018 INFO L495 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-28 06:16:00,019 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:00,019 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-28 06:16:00,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:00,112 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-28 06:16:00,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 06:16:00,112 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:00,112 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 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] [2022-04-28 06:16:00,155 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 06:16:00,313 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 06:16:00,313 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:00,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:00,313 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 1 times [2022-04-28 06:16:00,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:00,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2103102536] [2022-04-28 06:16:09,109 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:16:09,110 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:16:09,110 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:16:09,110 INFO L85 PathProgramCache]: Analyzing trace with hash 817878903, now seen corresponding path program 2 times [2022-04-28 06:16:09,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:09,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1772309182] [2022-04-28 06:16:09,110 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:09,110 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:09,135 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:09,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1775441715] [2022-04-28 06:16:09,135 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:09,135 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:09,135 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:09,136 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 06:16:09,141 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 06:16:09,180 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:09,180 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:09,181 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 06:16:09,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:09,193 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:09,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-28 06:16:09,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2785#(<= ~counter~0 0)} {2777#true} #96#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,449 INFO L272 TraceCheckUtils]: 4: Hoare triple {2785#(<= ~counter~0 0)} call #t~ret8 := main(); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,449 INFO L290 TraceCheckUtils]: 5: Hoare triple {2785#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,450 INFO L272 TraceCheckUtils]: 6: Hoare triple {2785#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,450 INFO L290 TraceCheckUtils]: 7: Hoare triple {2785#(<= ~counter~0 0)} ~cond := #in~cond; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,450 INFO L290 TraceCheckUtils]: 8: Hoare triple {2785#(<= ~counter~0 0)} assume !(0 == ~cond); {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {2785#(<= ~counter~0 0)} assume true; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,451 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2785#(<= ~counter~0 0)} {2785#(<= ~counter~0 0)} #80#return; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,451 INFO L290 TraceCheckUtils]: 11: Hoare triple {2785#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2785#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:09,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {2785#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {2819#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,453 INFO L272 TraceCheckUtils]: 14: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,453 INFO L290 TraceCheckUtils]: 15: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,453 INFO L290 TraceCheckUtils]: 16: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,454 INFO L290 TraceCheckUtils]: 17: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,454 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #82#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,455 INFO L272 TraceCheckUtils]: 19: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,455 INFO L290 TraceCheckUtils]: 21: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,456 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #84#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,457 INFO L272 TraceCheckUtils]: 24: Hoare triple {2819#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,457 INFO L290 TraceCheckUtils]: 25: Hoare triple {2819#(<= ~counter~0 1)} ~cond := #in~cond; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {2819#(<= ~counter~0 1)} assume !(0 == ~cond); {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,458 INFO L290 TraceCheckUtils]: 27: Hoare triple {2819#(<= ~counter~0 1)} assume true; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,458 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2819#(<= ~counter~0 1)} {2819#(<= ~counter~0 1)} #86#return; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,459 INFO L290 TraceCheckUtils]: 29: Hoare triple {2819#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2819#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:09,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {2819#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2874#(<= |main_#t~post6| 1)} is VALID [2022-04-28 06:16:09,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {2874#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {2778#false} is VALID [2022-04-28 06:16:09,476 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-28 06:16:09,476 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 5);havoc #t~post7; {2778#false} is VALID [2022-04-28 06:16:09,476 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 06:16:09,482 INFO L290 TraceCheckUtils]: 35: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 06:16:09,482 INFO L290 TraceCheckUtils]: 36: Hoare triple {2778#false} assume !(0 == ~cond); {2778#false} is VALID [2022-04-28 06:16:09,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {2778#false} assume true; {2778#false} is VALID [2022-04-28 06:16:09,483 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2778#false} {2778#false} #92#return; {2778#false} is VALID [2022-04-28 06:16:09,486 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 06:16:09,487 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 06:16:09,487 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-28 06:16:09,487 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-28 06:16:09,487 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-28 06:16:09,488 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:09,818 INFO L290 TraceCheckUtils]: 42: Hoare triple {2778#false} assume !false; {2778#false} is VALID [2022-04-28 06:16:09,818 INFO L290 TraceCheckUtils]: 41: Hoare triple {2778#false} assume 0 == ~cond; {2778#false} is VALID [2022-04-28 06:16:09,819 INFO L290 TraceCheckUtils]: 40: Hoare triple {2778#false} ~cond := #in~cond; {2778#false} is VALID [2022-04-28 06:16:09,819 INFO L272 TraceCheckUtils]: 39: Hoare triple {2778#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {2778#false} is VALID [2022-04-28 06:16:09,819 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2777#true} {2778#false} #92#return; {2778#false} is VALID [2022-04-28 06:16:09,819 INFO L290 TraceCheckUtils]: 37: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:16:09,820 INFO L290 TraceCheckUtils]: 36: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:16:09,826 INFO L290 TraceCheckUtils]: 35: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:16:09,828 INFO L272 TraceCheckUtils]: 34: Hoare triple {2778#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:16:09,829 INFO L290 TraceCheckUtils]: 33: Hoare triple {2778#false} assume !(#t~post7 < 5);havoc #t~post7; {2778#false} is VALID [2022-04-28 06:16:09,829 INFO L290 TraceCheckUtils]: 32: Hoare triple {2778#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2778#false} is VALID [2022-04-28 06:16:09,831 INFO L290 TraceCheckUtils]: 31: Hoare triple {2944#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {2778#false} is VALID [2022-04-28 06:16:09,831 INFO L290 TraceCheckUtils]: 30: Hoare triple {2948#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2944#(< |main_#t~post6| 5)} is VALID [2022-04-28 06:16:09,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {2948#(< ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2948#(< ~counter~0 5)} is VALID [2022-04-28 06:16:09,832 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2777#true} {2948#(< ~counter~0 5)} #86#return; {2948#(< ~counter~0 5)} is VALID [2022-04-28 06:16:09,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:16:09,832 INFO L290 TraceCheckUtils]: 26: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:16:09,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:16:09,833 INFO L272 TraceCheckUtils]: 24: Hoare triple {2948#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:16:09,834 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2777#true} {2948#(< ~counter~0 5)} #84#return; {2948#(< ~counter~0 5)} is VALID [2022-04-28 06:16:09,834 INFO L290 TraceCheckUtils]: 22: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:16:09,834 INFO L290 TraceCheckUtils]: 21: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:16:09,834 INFO L290 TraceCheckUtils]: 20: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:16:09,834 INFO L272 TraceCheckUtils]: 19: Hoare triple {2948#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:16:09,834 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2777#true} {2948#(< ~counter~0 5)} #82#return; {2948#(< ~counter~0 5)} is VALID [2022-04-28 06:16:09,834 INFO L290 TraceCheckUtils]: 17: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:16:09,835 INFO L290 TraceCheckUtils]: 16: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:16:09,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:16:09,835 INFO L272 TraceCheckUtils]: 14: Hoare triple {2948#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:16:09,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {2948#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {2948#(< ~counter~0 5)} is VALID [2022-04-28 06:16:09,836 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2948#(< ~counter~0 5)} is VALID [2022-04-28 06:16:09,836 INFO L290 TraceCheckUtils]: 11: Hoare triple {3003#(< ~counter~0 4)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3003#(< ~counter~0 4)} is VALID [2022-04-28 06:16:09,836 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2777#true} {3003#(< ~counter~0 4)} #80#return; {3003#(< ~counter~0 4)} is VALID [2022-04-28 06:16:09,836 INFO L290 TraceCheckUtils]: 9: Hoare triple {2777#true} assume true; {2777#true} is VALID [2022-04-28 06:16:09,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {2777#true} assume !(0 == ~cond); {2777#true} is VALID [2022-04-28 06:16:09,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {2777#true} ~cond := #in~cond; {2777#true} is VALID [2022-04-28 06:16:09,837 INFO L272 TraceCheckUtils]: 6: Hoare triple {3003#(< ~counter~0 4)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2777#true} is VALID [2022-04-28 06:16:09,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(< ~counter~0 4)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3003#(< ~counter~0 4)} is VALID [2022-04-28 06:16:09,845 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(< ~counter~0 4)} call #t~ret8 := main(); {3003#(< ~counter~0 4)} is VALID [2022-04-28 06:16:09,846 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(< ~counter~0 4)} {2777#true} #96#return; {3003#(< ~counter~0 4)} is VALID [2022-04-28 06:16:09,846 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(< ~counter~0 4)} assume true; {3003#(< ~counter~0 4)} is VALID [2022-04-28 06:16:09,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {2777#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3003#(< ~counter~0 4)} is VALID [2022-04-28 06:16:09,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {2777#true} call ULTIMATE.init(); {2777#true} is VALID [2022-04-28 06:16:09,849 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 06:16:09,849 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:09,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1772309182] [2022-04-28 06:16:09,849 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:09,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1775441715] [2022-04-28 06:16:09,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1775441715] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:16:09,850 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:16:09,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 06:16:09,850 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:09,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2103102536] [2022-04-28 06:16:09,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2103102536] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:09,850 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:09,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:16:09,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1270285253] [2022-04-28 06:16:09,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:09,851 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-28 06:16:09,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:09,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:16:09,882 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:09,882 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:16:09,882 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:09,882 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:16:09,883 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 06:16:09,883 INFO L87 Difference]: Start difference. First operand 69 states and 82 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:16:10,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:10,136 INFO L93 Difference]: Finished difference Result 96 states and 120 transitions. [2022-04-28 06:16:10,136 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:16:10,136 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) Word has length 43 [2022-04-28 06:16:10,137 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:10,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:16:10,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-28 06:16:10,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:16:10,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2022-04-28 06:16:10,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2022-04-28 06:16:10,233 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 06:16:10,234 INFO L225 Difference]: With dead ends: 96 [2022-04-28 06:16:10,234 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 06:16:10,235 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:16:10,236 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:10,236 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 117 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:16:10,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 06:16:10,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 06:16:10,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:10,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:16:10,292 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:16:10,293 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:16:10,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:10,295 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-28 06:16:10,295 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 06:16:10,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:10,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:10,296 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-28 06:16:10,296 INFO L87 Difference]: Start difference. First operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-28 06:16:10,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:10,298 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-28 06:16:10,298 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 06:16:10,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:10,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:10,299 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:10,299 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:10,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 45 states have (on average 1.2) internal successors, (54), 47 states have internal predecessors, (54), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 06:16:10,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 84 transitions. [2022-04-28 06:16:10,301 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 84 transitions. Word has length 43 [2022-04-28 06:16:10,301 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:10,301 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 84 transitions. [2022-04-28 06:16:10,301 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 3 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 06:16:10,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 84 transitions. [2022-04-28 06:16:10,412 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 06:16:10,412 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-28 06:16:10,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 06:16:10,412 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:10,412 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:10,440 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 06:16:10,613 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 06:16:10,613 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:10,614 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:10,614 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-28 06:16:10,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:10,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [303619113] [2022-04-28 06:16:16,227 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:16:16,228 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:16:16,228 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:16:16,228 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 2 times [2022-04-28 06:16:16,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:16,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [289341967] [2022-04-28 06:16:16,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:16,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:16,250 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:16,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1876326599] [2022-04-28 06:16:16,251 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:16,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:16,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:16,257 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 06:16:16,278 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 06:16:16,313 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:16,313 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:16,315 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 06:16:16,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:16,335 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:17,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-28 06:16:17,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3520#true} is VALID [2022-04-28 06:16:17,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:17,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-28 06:16:17,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-28 06:16:17,422 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-28 06:16:17,422 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:17,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:16:17,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {3546#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:17,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3550#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:16:17,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3550#(not (= |assume_abort_if_not_#in~cond| 0))} {3520#true} #80#return; {3557#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:16:17,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {3557#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:16:17,425 INFO L290 TraceCheckUtils]: 12: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:16:17,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:16:17,426 INFO L272 TraceCheckUtils]: 14: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:17,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:17,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:17,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:17,427 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:16:17,427 INFO L272 TraceCheckUtils]: 19: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:17,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:17,427 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:17,428 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:17,428 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:16:17,428 INFO L272 TraceCheckUtils]: 24: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:17,428 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:17,428 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:17,429 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:17,429 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:16:17,430 INFO L290 TraceCheckUtils]: 29: Hoare triple {3561#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:17,431 INFO L290 TraceCheckUtils]: 30: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:17,431 INFO L290 TraceCheckUtils]: 31: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:17,431 INFO L272 TraceCheckUtils]: 32: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:17,431 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:17,431 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:17,431 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:17,432 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:17,432 INFO L272 TraceCheckUtils]: 37: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:17,432 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:17,432 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:17,432 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:17,433 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:17,434 INFO L272 TraceCheckUtils]: 42: Hoare triple {3616#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:16:17,434 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:17,435 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-28 06:16:17,435 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-28 06:16:17,435 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 06:16:17,435 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:18,255 INFO L290 TraceCheckUtils]: 45: Hoare triple {3521#false} assume !false; {3521#false} is VALID [2022-04-28 06:16:18,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {3660#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3521#false} is VALID [2022-04-28 06:16:18,257 INFO L290 TraceCheckUtils]: 43: Hoare triple {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3660#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:16:18,257 INFO L272 TraceCheckUtils]: 42: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3656#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:16:18,258 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,258 INFO L290 TraceCheckUtils]: 40: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:18,258 INFO L290 TraceCheckUtils]: 39: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:18,258 INFO L290 TraceCheckUtils]: 38: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:18,259 INFO L272 TraceCheckUtils]: 37: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:18,259 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,259 INFO L290 TraceCheckUtils]: 35: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:18,259 INFO L290 TraceCheckUtils]: 34: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:18,259 INFO L290 TraceCheckUtils]: 33: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:18,260 INFO L272 TraceCheckUtils]: 32: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:18,260 INFO L290 TraceCheckUtils]: 31: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,260 INFO L290 TraceCheckUtils]: 30: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,262 INFO L290 TraceCheckUtils]: 29: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,263 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,263 INFO L290 TraceCheckUtils]: 27: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:18,263 INFO L290 TraceCheckUtils]: 26: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:18,263 INFO L290 TraceCheckUtils]: 25: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:18,263 INFO L272 TraceCheckUtils]: 24: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:18,264 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,264 INFO L290 TraceCheckUtils]: 22: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:18,264 INFO L290 TraceCheckUtils]: 21: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:18,264 INFO L290 TraceCheckUtils]: 20: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:18,264 INFO L272 TraceCheckUtils]: 19: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:18,265 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3520#true} {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,265 INFO L290 TraceCheckUtils]: 17: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:18,265 INFO L290 TraceCheckUtils]: 16: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:18,266 INFO L290 TraceCheckUtils]: 15: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:18,266 INFO L272 TraceCheckUtils]: 14: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:18,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {3520#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3676#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:16:18,272 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3520#true} {3520#true} #80#return; {3520#true} is VALID [2022-04-28 06:16:18,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:18,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {3520#true} assume !(0 == ~cond); {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {3520#true} ~cond := #in~cond; {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L272 TraceCheckUtils]: 6: Hoare triple {3520#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {3520#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {3520#true} call #t~ret8 := main(); {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3520#true} {3520#true} #96#return; {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {3520#true} assume true; {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {3520#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {3520#true} call ULTIMATE.init(); {3520#true} is VALID [2022-04-28 06:16:18,273 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 06:16:18,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:18,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [289341967] [2022-04-28 06:16:18,274 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:18,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1876326599] [2022-04-28 06:16:18,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1876326599] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 06:16:18,274 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:16:18,274 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 06:16:18,274 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:18,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [303619113] [2022-04-28 06:16:18,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [303619113] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:18,274 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:18,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:16:18,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [979471731] [2022-04-28 06:16:18,275 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:18,276 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-28 06:16:18,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:18,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:18,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:18,304 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:16:18,304 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:18,304 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:16:18,304 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:16:18,305 INFO L87 Difference]: Start difference. First operand 71 states and 84 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:18,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:18,891 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2022-04-28 06:16:18,891 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:16:18,891 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-28 06:16:18,891 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:18,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:18,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 06:16:18,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:18,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-28 06:16:18,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-28 06:16:18,977 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 06:16:18,979 INFO L225 Difference]: With dead ends: 84 [2022-04-28 06:16:18,979 INFO L226 Difference]: Without dead ends: 82 [2022-04-28 06:16:18,979 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 06:16:18,979 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:18,980 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:16:18,980 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-04-28 06:16:19,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 79. [2022-04-28 06:16:19,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:19,070 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:16:19,072 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:16:19,072 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:16:19,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:19,082 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-28 06:16:19,082 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-28 06:16:19,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:19,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:19,083 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-28 06:16:19,083 INFO L87 Difference]: Start difference. First operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 82 states. [2022-04-28 06:16:19,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:19,086 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2022-04-28 06:16:19,086 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 99 transitions. [2022-04-28 06:16:19,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:19,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:19,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:19,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:19,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 50 states have (on average 1.2) internal successors, (60), 53 states have internal predecessors, (60), 18 states have call successors, (18), 11 states have call predecessors, (18), 10 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 06:16:19,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 94 transitions. [2022-04-28 06:16:19,089 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 94 transitions. Word has length 46 [2022-04-28 06:16:19,089 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:19,090 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 94 transitions. [2022-04-28 06:16:19,090 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 06:16:19,090 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 94 transitions. [2022-04-28 06:16:19,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:19,205 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 94 transitions. [2022-04-28 06:16:19,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 06:16:19,205 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:19,205 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:19,233 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 06:16:19,406 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 06:16:19,406 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:19,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:19,407 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 1 times [2022-04-28 06:16:19,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:19,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2045511007] [2022-04-28 06:16:28,172 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:16:28,173 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:16:28,173 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:16:28,173 INFO L85 PathProgramCache]: Analyzing trace with hash 967982746, now seen corresponding path program 2 times [2022-04-28 06:16:28,173 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:28,173 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1476415711] [2022-04-28 06:16:28,173 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:28,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:28,184 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:28,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [490388434] [2022-04-28 06:16:28,184 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:28,184 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:28,184 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:28,208 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 06:16:28,242 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 06:16:28,301 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:28,301 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:28,302 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 06:16:28,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:28,320 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:28,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-28 06:16:28,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4305#(<= ~counter~0 0)} {4297#true} #96#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {4305#(<= ~counter~0 0)} call #t~ret8 := main(); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {4305#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {4305#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {4305#(<= ~counter~0 0)} ~cond := #in~cond; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {4305#(<= ~counter~0 0)} assume !(0 == ~cond); {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {4305#(<= ~counter~0 0)} assume true; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,772 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4305#(<= ~counter~0 0)} {4305#(<= ~counter~0 0)} #80#return; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {4305#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4305#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:28,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {4305#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {4339#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,774 INFO L272 TraceCheckUtils]: 14: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,775 INFO L290 TraceCheckUtils]: 16: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,775 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #82#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,776 INFO L272 TraceCheckUtils]: 19: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,777 INFO L290 TraceCheckUtils]: 21: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,777 INFO L290 TraceCheckUtils]: 22: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,778 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #84#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,778 INFO L272 TraceCheckUtils]: 24: Hoare triple {4339#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,779 INFO L290 TraceCheckUtils]: 25: Hoare triple {4339#(<= ~counter~0 1)} ~cond := #in~cond; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,779 INFO L290 TraceCheckUtils]: 26: Hoare triple {4339#(<= ~counter~0 1)} assume !(0 == ~cond); {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,779 INFO L290 TraceCheckUtils]: 27: Hoare triple {4339#(<= ~counter~0 1)} assume true; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,780 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4339#(<= ~counter~0 1)} {4339#(<= ~counter~0 1)} #86#return; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,780 INFO L290 TraceCheckUtils]: 29: Hoare triple {4339#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4339#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:28,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {4339#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {4394#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,782 INFO L272 TraceCheckUtils]: 32: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,782 INFO L290 TraceCheckUtils]: 33: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,782 INFO L290 TraceCheckUtils]: 34: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,783 INFO L290 TraceCheckUtils]: 35: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,783 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #82#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,784 INFO L272 TraceCheckUtils]: 37: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,784 INFO L290 TraceCheckUtils]: 38: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,785 INFO L290 TraceCheckUtils]: 39: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,785 INFO L290 TraceCheckUtils]: 40: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,786 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #84#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,786 INFO L272 TraceCheckUtils]: 42: Hoare triple {4394#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,787 INFO L290 TraceCheckUtils]: 43: Hoare triple {4394#(<= ~counter~0 2)} ~cond := #in~cond; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,787 INFO L290 TraceCheckUtils]: 44: Hoare triple {4394#(<= ~counter~0 2)} assume !(0 == ~cond); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,787 INFO L290 TraceCheckUtils]: 45: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,788 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4394#(<= ~counter~0 2)} {4394#(<= ~counter~0 2)} #86#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,788 INFO L290 TraceCheckUtils]: 47: Hoare triple {4394#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:28,789 INFO L290 TraceCheckUtils]: 48: Hoare triple {4394#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4449#(<= |main_#t~post7| 2)} is VALID [2022-04-28 06:16:28,789 INFO L290 TraceCheckUtils]: 49: Hoare triple {4449#(<= |main_#t~post7| 2)} assume !(#t~post7 < 5);havoc #t~post7; {4298#false} is VALID [2022-04-28 06:16:28,789 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 06:16:28,789 INFO L290 TraceCheckUtils]: 51: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 06:16:28,789 INFO L290 TraceCheckUtils]: 52: Hoare triple {4298#false} assume !(0 == ~cond); {4298#false} is VALID [2022-04-28 06:16:28,789 INFO L290 TraceCheckUtils]: 53: Hoare triple {4298#false} assume true; {4298#false} is VALID [2022-04-28 06:16:28,790 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4298#false} {4298#false} #92#return; {4298#false} is VALID [2022-04-28 06:16:28,790 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 06:16:28,790 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 06:16:28,790 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-28 06:16:28,790 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-28 06:16:28,791 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 06:16:28,791 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:29,139 INFO L290 TraceCheckUtils]: 58: Hoare triple {4298#false} assume !false; {4298#false} is VALID [2022-04-28 06:16:29,140 INFO L290 TraceCheckUtils]: 57: Hoare triple {4298#false} assume 0 == ~cond; {4298#false} is VALID [2022-04-28 06:16:29,140 INFO L290 TraceCheckUtils]: 56: Hoare triple {4298#false} ~cond := #in~cond; {4298#false} is VALID [2022-04-28 06:16:29,140 INFO L272 TraceCheckUtils]: 55: Hoare triple {4298#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {4298#false} is VALID [2022-04-28 06:16:29,140 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {4297#true} {4298#false} #92#return; {4298#false} is VALID [2022-04-28 06:16:29,140 INFO L290 TraceCheckUtils]: 53: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:16:29,140 INFO L290 TraceCheckUtils]: 52: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:16:29,140 INFO L290 TraceCheckUtils]: 51: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:16:29,140 INFO L272 TraceCheckUtils]: 50: Hoare triple {4298#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:16:29,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {4507#(< |main_#t~post7| 5)} assume !(#t~post7 < 5);havoc #t~post7; {4298#false} is VALID [2022-04-28 06:16:29,141 INFO L290 TraceCheckUtils]: 48: Hoare triple {4511#(< ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4507#(< |main_#t~post7| 5)} is VALID [2022-04-28 06:16:29,142 INFO L290 TraceCheckUtils]: 47: Hoare triple {4511#(< ~counter~0 5)} assume !(~r~0 >= ~d~0); {4511#(< ~counter~0 5)} is VALID [2022-04-28 06:16:29,142 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4297#true} {4511#(< ~counter~0 5)} #86#return; {4511#(< ~counter~0 5)} is VALID [2022-04-28 06:16:29,142 INFO L290 TraceCheckUtils]: 45: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:16:29,143 INFO L290 TraceCheckUtils]: 44: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:16:29,143 INFO L290 TraceCheckUtils]: 43: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:16:29,143 INFO L272 TraceCheckUtils]: 42: Hoare triple {4511#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:16:29,143 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4297#true} {4511#(< ~counter~0 5)} #84#return; {4511#(< ~counter~0 5)} is VALID [2022-04-28 06:16:29,143 INFO L290 TraceCheckUtils]: 40: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:16:29,143 INFO L290 TraceCheckUtils]: 39: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:16:29,144 INFO L290 TraceCheckUtils]: 38: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:16:29,144 INFO L272 TraceCheckUtils]: 37: Hoare triple {4511#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:16:29,144 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4297#true} {4511#(< ~counter~0 5)} #82#return; {4511#(< ~counter~0 5)} is VALID [2022-04-28 06:16:29,144 INFO L290 TraceCheckUtils]: 35: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:16:29,144 INFO L290 TraceCheckUtils]: 34: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:16:29,144 INFO L290 TraceCheckUtils]: 33: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:16:29,145 INFO L272 TraceCheckUtils]: 32: Hoare triple {4511#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:16:29,145 INFO L290 TraceCheckUtils]: 31: Hoare triple {4511#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {4511#(< ~counter~0 5)} is VALID [2022-04-28 06:16:29,146 INFO L290 TraceCheckUtils]: 30: Hoare triple {4566#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4511#(< ~counter~0 5)} is VALID [2022-04-28 06:16:29,146 INFO L290 TraceCheckUtils]: 29: Hoare triple {4566#(< ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4566#(< ~counter~0 4)} is VALID [2022-04-28 06:16:29,146 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4297#true} {4566#(< ~counter~0 4)} #86#return; {4566#(< ~counter~0 4)} is VALID [2022-04-28 06:16:29,147 INFO L290 TraceCheckUtils]: 27: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:16:29,147 INFO L290 TraceCheckUtils]: 26: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:16:29,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:16:29,147 INFO L272 TraceCheckUtils]: 24: Hoare triple {4566#(< ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:16:29,147 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4297#true} {4566#(< ~counter~0 4)} #84#return; {4566#(< ~counter~0 4)} is VALID [2022-04-28 06:16:29,147 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:16:29,148 INFO L290 TraceCheckUtils]: 21: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:16:29,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:16:29,148 INFO L272 TraceCheckUtils]: 19: Hoare triple {4566#(< ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:16:29,148 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4297#true} {4566#(< ~counter~0 4)} #82#return; {4566#(< ~counter~0 4)} is VALID [2022-04-28 06:16:29,148 INFO L290 TraceCheckUtils]: 17: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:16:29,148 INFO L290 TraceCheckUtils]: 16: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:16:29,148 INFO L290 TraceCheckUtils]: 15: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:16:29,148 INFO L272 TraceCheckUtils]: 14: Hoare triple {4566#(< ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:16:29,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {4566#(< ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {4566#(< ~counter~0 4)} is VALID [2022-04-28 06:16:29,149 INFO L290 TraceCheckUtils]: 12: Hoare triple {4394#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4566#(< ~counter~0 4)} is VALID [2022-04-28 06:16:29,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {4394#(<= ~counter~0 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:29,150 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4297#true} {4394#(<= ~counter~0 2)} #80#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:29,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {4297#true} assume true; {4297#true} is VALID [2022-04-28 06:16:29,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {4297#true} assume !(0 == ~cond); {4297#true} is VALID [2022-04-28 06:16:29,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {4297#true} ~cond := #in~cond; {4297#true} is VALID [2022-04-28 06:16:29,151 INFO L272 TraceCheckUtils]: 6: Hoare triple {4394#(<= ~counter~0 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4297#true} is VALID [2022-04-28 06:16:29,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {4394#(<= ~counter~0 2)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:29,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {4394#(<= ~counter~0 2)} call #t~ret8 := main(); {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:29,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4394#(<= ~counter~0 2)} {4297#true} #96#return; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:29,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {4394#(<= ~counter~0 2)} assume true; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:29,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {4297#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4394#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:29,152 INFO L272 TraceCheckUtils]: 0: Hoare triple {4297#true} call ULTIMATE.init(); {4297#true} is VALID [2022-04-28 06:16:29,154 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 06:16:29,154 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:29,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1476415711] [2022-04-28 06:16:29,154 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:29,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [490388434] [2022-04-28 06:16:29,154 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [490388434] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:16:29,154 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:16:29,154 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-28 06:16:29,157 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:29,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2045511007] [2022-04-28 06:16:29,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2045511007] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:29,158 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:29,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:16:29,158 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1736077877] [2022-04-28 06:16:29,158 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:29,158 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-28 06:16:29,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:29,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:29,198 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 06:16:29,198 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:16:29,198 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:29,199 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:16:29,199 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:16:29,199 INFO L87 Difference]: Start difference. First operand 79 states and 94 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:29,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:29,427 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 06:16:29,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 06:16:29,427 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 59 [2022-04-28 06:16:29,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:29,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:29,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-28 06:16:29,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:29,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 79 transitions. [2022-04-28 06:16:29,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 79 transitions. [2022-04-28 06:16:29,497 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 06:16:29,499 INFO L225 Difference]: With dead ends: 110 [2022-04-28 06:16:29,499 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 06:16:29,499 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 109 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:16:29,500 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 14 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:29,500 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 129 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:16:29,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 06:16:29,614 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 97. [2022-04-28 06:16:29,614 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:29,615 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:16:29,615 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:16:29,615 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:16:29,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:29,617 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 06:16:29,617 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 06:16:29,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:29,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:29,618 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-28 06:16:29,618 INFO L87 Difference]: Start difference. First operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 98 states. [2022-04-28 06:16:29,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:29,620 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 06:16:29,620 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 06:16:29,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:29,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:29,621 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:29,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:29,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 62 states have (on average 1.1774193548387097) internal successors, (73), 65 states have internal predecessors, (73), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:16:29,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 113 transitions. [2022-04-28 06:16:29,623 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 113 transitions. Word has length 59 [2022-04-28 06:16:29,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:29,625 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 113 transitions. [2022-04-28 06:16:29,625 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:29,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 97 states and 113 transitions. [2022-04-28 06:16:29,791 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 06:16:29,792 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 113 transitions. [2022-04-28 06:16:29,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 06:16:29,792 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:29,793 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:29,823 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 06:16:29,993 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:29,993 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:29,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:29,994 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 3 times [2022-04-28 06:16:29,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:29,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [627730001] [2022-04-28 06:16:40,175 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:16:40,176 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:16:40,176 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:16:40,176 INFO L85 PathProgramCache]: Analyzing trace with hash 940283669, now seen corresponding path program 4 times [2022-04-28 06:16:40,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:40,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1914836979] [2022-04-28 06:16:40,176 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:40,176 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:40,198 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:40,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1566733458] [2022-04-28 06:16:40,199 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:16:40,199 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:40,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:40,207 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 06:16:40,208 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 06:16:40,260 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:16:40,260 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:40,261 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 06:16:40,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:40,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:40,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {5269#true} call ULTIMATE.init(); {5269#true} is VALID [2022-04-28 06:16:40,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {5269#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {5277#(<= ~counter~0 0)} assume true; {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5277#(<= ~counter~0 0)} {5269#true} #96#return; {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {5277#(<= ~counter~0 0)} call #t~ret8 := main(); {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {5277#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {5277#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {5277#(<= ~counter~0 0)} ~cond := #in~cond; {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {5277#(<= ~counter~0 0)} assume !(0 == ~cond); {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {5277#(<= ~counter~0 0)} assume true; {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,632 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5277#(<= ~counter~0 0)} {5277#(<= ~counter~0 0)} #80#return; {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {5277#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5277#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:40,633 INFO L290 TraceCheckUtils]: 12: Hoare triple {5277#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,634 INFO L290 TraceCheckUtils]: 13: Hoare triple {5311#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,634 INFO L272 TraceCheckUtils]: 14: Hoare triple {5311#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,635 INFO L290 TraceCheckUtils]: 15: Hoare triple {5311#(<= ~counter~0 1)} ~cond := #in~cond; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {5311#(<= ~counter~0 1)} assume !(0 == ~cond); {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,636 INFO L290 TraceCheckUtils]: 17: Hoare triple {5311#(<= ~counter~0 1)} assume true; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,637 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5311#(<= ~counter~0 1)} {5311#(<= ~counter~0 1)} #82#return; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,637 INFO L272 TraceCheckUtils]: 19: Hoare triple {5311#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {5311#(<= ~counter~0 1)} ~cond := #in~cond; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,638 INFO L290 TraceCheckUtils]: 21: Hoare triple {5311#(<= ~counter~0 1)} assume !(0 == ~cond); {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,638 INFO L290 TraceCheckUtils]: 22: Hoare triple {5311#(<= ~counter~0 1)} assume true; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,639 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5311#(<= ~counter~0 1)} {5311#(<= ~counter~0 1)} #84#return; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,639 INFO L272 TraceCheckUtils]: 24: Hoare triple {5311#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,640 INFO L290 TraceCheckUtils]: 25: Hoare triple {5311#(<= ~counter~0 1)} ~cond := #in~cond; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,640 INFO L290 TraceCheckUtils]: 26: Hoare triple {5311#(<= ~counter~0 1)} assume !(0 == ~cond); {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,641 INFO L290 TraceCheckUtils]: 27: Hoare triple {5311#(<= ~counter~0 1)} assume true; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,641 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5311#(<= ~counter~0 1)} {5311#(<= ~counter~0 1)} #86#return; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,642 INFO L290 TraceCheckUtils]: 29: Hoare triple {5311#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5311#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:40,642 INFO L290 TraceCheckUtils]: 30: Hoare triple {5311#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,643 INFO L290 TraceCheckUtils]: 31: Hoare triple {5366#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,643 INFO L272 TraceCheckUtils]: 32: Hoare triple {5366#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,644 INFO L290 TraceCheckUtils]: 33: Hoare triple {5366#(<= ~counter~0 2)} ~cond := #in~cond; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,644 INFO L290 TraceCheckUtils]: 34: Hoare triple {5366#(<= ~counter~0 2)} assume !(0 == ~cond); {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,644 INFO L290 TraceCheckUtils]: 35: Hoare triple {5366#(<= ~counter~0 2)} assume true; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,645 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5366#(<= ~counter~0 2)} {5366#(<= ~counter~0 2)} #82#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,645 INFO L272 TraceCheckUtils]: 37: Hoare triple {5366#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,646 INFO L290 TraceCheckUtils]: 38: Hoare triple {5366#(<= ~counter~0 2)} ~cond := #in~cond; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,646 INFO L290 TraceCheckUtils]: 39: Hoare triple {5366#(<= ~counter~0 2)} assume !(0 == ~cond); {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,646 INFO L290 TraceCheckUtils]: 40: Hoare triple {5366#(<= ~counter~0 2)} assume true; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,647 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5366#(<= ~counter~0 2)} {5366#(<= ~counter~0 2)} #84#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,647 INFO L272 TraceCheckUtils]: 42: Hoare triple {5366#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,648 INFO L290 TraceCheckUtils]: 43: Hoare triple {5366#(<= ~counter~0 2)} ~cond := #in~cond; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,648 INFO L290 TraceCheckUtils]: 44: Hoare triple {5366#(<= ~counter~0 2)} assume !(0 == ~cond); {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,648 INFO L290 TraceCheckUtils]: 45: Hoare triple {5366#(<= ~counter~0 2)} assume true; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,649 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5366#(<= ~counter~0 2)} {5366#(<= ~counter~0 2)} #86#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,649 INFO L290 TraceCheckUtils]: 47: Hoare triple {5366#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:40,650 INFO L290 TraceCheckUtils]: 48: Hoare triple {5366#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5421#(<= |main_#t~post6| 2)} is VALID [2022-04-28 06:16:40,650 INFO L290 TraceCheckUtils]: 49: Hoare triple {5421#(<= |main_#t~post6| 2)} assume !(#t~post6 < 5);havoc #t~post6; {5270#false} is VALID [2022-04-28 06:16:40,650 INFO L290 TraceCheckUtils]: 50: Hoare triple {5270#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5270#false} is VALID [2022-04-28 06:16:40,650 INFO L290 TraceCheckUtils]: 51: Hoare triple {5270#false} assume !(#t~post7 < 5);havoc #t~post7; {5270#false} is VALID [2022-04-28 06:16:40,650 INFO L272 TraceCheckUtils]: 52: Hoare triple {5270#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L290 TraceCheckUtils]: 53: Hoare triple {5270#false} ~cond := #in~cond; {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L290 TraceCheckUtils]: 54: Hoare triple {5270#false} assume !(0 == ~cond); {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L290 TraceCheckUtils]: 55: Hoare triple {5270#false} assume true; {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5270#false} {5270#false} #92#return; {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L272 TraceCheckUtils]: 57: Hoare triple {5270#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L290 TraceCheckUtils]: 58: Hoare triple {5270#false} ~cond := #in~cond; {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L290 TraceCheckUtils]: 59: Hoare triple {5270#false} assume 0 == ~cond; {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L290 TraceCheckUtils]: 60: Hoare triple {5270#false} assume !false; {5270#false} is VALID [2022-04-28 06:16:40,651 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 36 proven. 46 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 06:16:40,652 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:41,057 INFO L290 TraceCheckUtils]: 60: Hoare triple {5270#false} assume !false; {5270#false} is VALID [2022-04-28 06:16:41,057 INFO L290 TraceCheckUtils]: 59: Hoare triple {5270#false} assume 0 == ~cond; {5270#false} is VALID [2022-04-28 06:16:41,057 INFO L290 TraceCheckUtils]: 58: Hoare triple {5270#false} ~cond := #in~cond; {5270#false} is VALID [2022-04-28 06:16:41,057 INFO L272 TraceCheckUtils]: 57: Hoare triple {5270#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5270#false} is VALID [2022-04-28 06:16:41,057 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5269#true} {5270#false} #92#return; {5270#false} is VALID [2022-04-28 06:16:41,058 INFO L290 TraceCheckUtils]: 55: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-28 06:16:41,058 INFO L290 TraceCheckUtils]: 54: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-28 06:16:41,058 INFO L290 TraceCheckUtils]: 53: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-28 06:16:41,058 INFO L272 TraceCheckUtils]: 52: Hoare triple {5270#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5269#true} is VALID [2022-04-28 06:16:41,058 INFO L290 TraceCheckUtils]: 51: Hoare triple {5270#false} assume !(#t~post7 < 5);havoc #t~post7; {5270#false} is VALID [2022-04-28 06:16:41,058 INFO L290 TraceCheckUtils]: 50: Hoare triple {5270#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5270#false} is VALID [2022-04-28 06:16:41,059 INFO L290 TraceCheckUtils]: 49: Hoare triple {5491#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {5270#false} is VALID [2022-04-28 06:16:41,060 INFO L290 TraceCheckUtils]: 48: Hoare triple {5495#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5491#(< |main_#t~post6| 5)} is VALID [2022-04-28 06:16:41,060 INFO L290 TraceCheckUtils]: 47: Hoare triple {5495#(< ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5495#(< ~counter~0 5)} is VALID [2022-04-28 06:16:41,061 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5269#true} {5495#(< ~counter~0 5)} #86#return; {5495#(< ~counter~0 5)} is VALID [2022-04-28 06:16:41,061 INFO L290 TraceCheckUtils]: 45: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-28 06:16:41,061 INFO L290 TraceCheckUtils]: 44: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-28 06:16:41,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-28 06:16:41,061 INFO L272 TraceCheckUtils]: 42: Hoare triple {5495#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5269#true} is VALID [2022-04-28 06:16:41,061 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5269#true} {5495#(< ~counter~0 5)} #84#return; {5495#(< ~counter~0 5)} is VALID [2022-04-28 06:16:41,061 INFO L290 TraceCheckUtils]: 40: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-28 06:16:41,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-28 06:16:41,062 INFO L290 TraceCheckUtils]: 38: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-28 06:16:41,062 INFO L272 TraceCheckUtils]: 37: Hoare triple {5495#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5269#true} is VALID [2022-04-28 06:16:41,062 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5269#true} {5495#(< ~counter~0 5)} #82#return; {5495#(< ~counter~0 5)} is VALID [2022-04-28 06:16:41,062 INFO L290 TraceCheckUtils]: 35: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-28 06:16:41,062 INFO L290 TraceCheckUtils]: 34: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-28 06:16:41,062 INFO L290 TraceCheckUtils]: 33: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-28 06:16:41,062 INFO L272 TraceCheckUtils]: 32: Hoare triple {5495#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5269#true} is VALID [2022-04-28 06:16:41,063 INFO L290 TraceCheckUtils]: 31: Hoare triple {5495#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {5495#(< ~counter~0 5)} is VALID [2022-04-28 06:16:41,063 INFO L290 TraceCheckUtils]: 30: Hoare triple {5550#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5495#(< ~counter~0 5)} is VALID [2022-04-28 06:16:41,064 INFO L290 TraceCheckUtils]: 29: Hoare triple {5550#(< ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5550#(< ~counter~0 4)} is VALID [2022-04-28 06:16:41,064 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5269#true} {5550#(< ~counter~0 4)} #86#return; {5550#(< ~counter~0 4)} is VALID [2022-04-28 06:16:41,064 INFO L290 TraceCheckUtils]: 27: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-28 06:16:41,064 INFO L290 TraceCheckUtils]: 26: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-28 06:16:41,064 INFO L290 TraceCheckUtils]: 25: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-28 06:16:41,064 INFO L272 TraceCheckUtils]: 24: Hoare triple {5550#(< ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5269#true} is VALID [2022-04-28 06:16:41,065 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5269#true} {5550#(< ~counter~0 4)} #84#return; {5550#(< ~counter~0 4)} is VALID [2022-04-28 06:16:41,065 INFO L290 TraceCheckUtils]: 22: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-28 06:16:41,065 INFO L290 TraceCheckUtils]: 21: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-28 06:16:41,065 INFO L290 TraceCheckUtils]: 20: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-28 06:16:41,065 INFO L272 TraceCheckUtils]: 19: Hoare triple {5550#(< ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5269#true} is VALID [2022-04-28 06:16:41,065 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5269#true} {5550#(< ~counter~0 4)} #82#return; {5550#(< ~counter~0 4)} is VALID [2022-04-28 06:16:41,066 INFO L290 TraceCheckUtils]: 17: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-28 06:16:41,066 INFO L290 TraceCheckUtils]: 16: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-28 06:16:41,066 INFO L290 TraceCheckUtils]: 15: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-28 06:16:41,066 INFO L272 TraceCheckUtils]: 14: Hoare triple {5550#(< ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5269#true} is VALID [2022-04-28 06:16:41,066 INFO L290 TraceCheckUtils]: 13: Hoare triple {5550#(< ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {5550#(< ~counter~0 4)} is VALID [2022-04-28 06:16:41,067 INFO L290 TraceCheckUtils]: 12: Hoare triple {5366#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5550#(< ~counter~0 4)} is VALID [2022-04-28 06:16:41,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {5366#(<= ~counter~0 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:41,067 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5269#true} {5366#(<= ~counter~0 2)} #80#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:41,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {5269#true} assume true; {5269#true} is VALID [2022-04-28 06:16:41,068 INFO L290 TraceCheckUtils]: 8: Hoare triple {5269#true} assume !(0 == ~cond); {5269#true} is VALID [2022-04-28 06:16:41,068 INFO L290 TraceCheckUtils]: 7: Hoare triple {5269#true} ~cond := #in~cond; {5269#true} is VALID [2022-04-28 06:16:41,068 INFO L272 TraceCheckUtils]: 6: Hoare triple {5366#(<= ~counter~0 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5269#true} is VALID [2022-04-28 06:16:41,068 INFO L290 TraceCheckUtils]: 5: Hoare triple {5366#(<= ~counter~0 2)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:41,068 INFO L272 TraceCheckUtils]: 4: Hoare triple {5366#(<= ~counter~0 2)} call #t~ret8 := main(); {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:41,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5366#(<= ~counter~0 2)} {5269#true} #96#return; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:41,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {5366#(<= ~counter~0 2)} assume true; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:41,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {5269#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5366#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:41,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {5269#true} call ULTIMATE.init(); {5269#true} is VALID [2022-04-28 06:16:41,070 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 06:16:41,071 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:41,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1914836979] [2022-04-28 06:16:41,071 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:41,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1566733458] [2022-04-28 06:16:41,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1566733458] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:16:41,072 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:16:41,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-28 06:16:41,072 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:41,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [627730001] [2022-04-28 06:16:41,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [627730001] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:41,072 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:41,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 06:16:41,072 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1913079904] [2022-04-28 06:16:41,072 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:41,073 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-28 06:16:41,075 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:41,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:41,120 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 06:16:41,120 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 06:16:41,120 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:41,121 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 06:16:41,121 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:16:41,121 INFO L87 Difference]: Start difference. First operand 97 states and 113 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:41,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:41,394 INFO L93 Difference]: Finished difference Result 132 states and 161 transitions. [2022-04-28 06:16:41,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:16:41,394 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) Word has length 61 [2022-04-28 06:16:41,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:41,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:41,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 06:16:41,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:41,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-28 06:16:41,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-28 06:16:41,478 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:41,480 INFO L225 Difference]: With dead ends: 132 [2022-04-28 06:16:41,480 INFO L226 Difference]: Without dead ends: 99 [2022-04-28 06:16:41,480 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2022-04-28 06:16:41,481 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 13 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:41,481 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 126 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:16:41,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-04-28 06:16:41,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2022-04-28 06:16:41,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:41,558 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:16:41,559 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:16:41,560 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:16:41,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:41,567 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-28 06:16:41,567 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 06:16:41,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:41,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:41,568 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-28 06:16:41,568 INFO L87 Difference]: Start difference. First operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) Second operand 99 states. [2022-04-28 06:16:41,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:41,571 INFO L93 Difference]: Finished difference Result 99 states and 115 transitions. [2022-04-28 06:16:41,571 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 06:16:41,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:41,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:41,572 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:41,572 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:41,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 64 states have (on average 1.171875) internal successors, (75), 67 states have internal predecessors, (75), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 17 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 06:16:41,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 115 transitions. [2022-04-28 06:16:41,574 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 115 transitions. Word has length 61 [2022-04-28 06:16:41,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:41,574 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 115 transitions. [2022-04-28 06:16:41,574 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-28 06:16:41,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 115 transitions. [2022-04-28 06:16:41,718 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 06:16:41,718 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 115 transitions. [2022-04-28 06:16:41,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 06:16:41,719 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:41,719 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:41,745 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 06:16:41,919 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,SelfDestructingSolverStorable10 [2022-04-28 06:16:41,920 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:41,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:41,920 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 1 times [2022-04-28 06:16:41,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:41,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1275885437] [2022-04-28 06:16:48,060 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:16:48,060 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:16:48,060 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:16:48,060 INFO L85 PathProgramCache]: Analyzing trace with hash 1140868055, now seen corresponding path program 2 times [2022-04-28 06:16:48,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:48,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2051622999] [2022-04-28 06:16:48,061 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:48,061 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:48,075 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:48,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1302132238] [2022-04-28 06:16:48,079 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:48,079 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:48,080 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:48,082 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 06:16:48,083 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 06:16:48,138 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:48,139 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:48,140 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 06:16:48,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:48,156 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:16:48,531 INFO L272 TraceCheckUtils]: 0: Hoare triple {6307#true} call ULTIMATE.init(); {6307#true} is VALID [2022-04-28 06:16:48,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {6307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {6315#(<= ~counter~0 0)} assume true; {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6315#(<= ~counter~0 0)} {6307#true} #96#return; {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {6315#(<= ~counter~0 0)} call #t~ret8 := main(); {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,533 INFO L290 TraceCheckUtils]: 5: Hoare triple {6315#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,534 INFO L272 TraceCheckUtils]: 6: Hoare triple {6315#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,534 INFO L290 TraceCheckUtils]: 7: Hoare triple {6315#(<= ~counter~0 0)} ~cond := #in~cond; {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {6315#(<= ~counter~0 0)} assume !(0 == ~cond); {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {6315#(<= ~counter~0 0)} assume true; {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,536 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6315#(<= ~counter~0 0)} {6315#(<= ~counter~0 0)} #80#return; {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,536 INFO L290 TraceCheckUtils]: 11: Hoare triple {6315#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6315#(<= ~counter~0 0)} is VALID [2022-04-28 06:16:48,537 INFO L290 TraceCheckUtils]: 12: Hoare triple {6315#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,537 INFO L290 TraceCheckUtils]: 13: Hoare triple {6349#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,538 INFO L272 TraceCheckUtils]: 14: Hoare triple {6349#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {6349#(<= ~counter~0 1)} ~cond := #in~cond; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,538 INFO L290 TraceCheckUtils]: 16: Hoare triple {6349#(<= ~counter~0 1)} assume !(0 == ~cond); {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {6349#(<= ~counter~0 1)} assume true; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,539 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6349#(<= ~counter~0 1)} {6349#(<= ~counter~0 1)} #82#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,540 INFO L272 TraceCheckUtils]: 19: Hoare triple {6349#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {6349#(<= ~counter~0 1)} ~cond := #in~cond; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,540 INFO L290 TraceCheckUtils]: 21: Hoare triple {6349#(<= ~counter~0 1)} assume !(0 == ~cond); {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {6349#(<= ~counter~0 1)} assume true; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,559 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6349#(<= ~counter~0 1)} {6349#(<= ~counter~0 1)} #84#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,560 INFO L272 TraceCheckUtils]: 24: Hoare triple {6349#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {6349#(<= ~counter~0 1)} ~cond := #in~cond; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,561 INFO L290 TraceCheckUtils]: 26: Hoare triple {6349#(<= ~counter~0 1)} assume !(0 == ~cond); {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {6349#(<= ~counter~0 1)} assume true; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,562 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6349#(<= ~counter~0 1)} {6349#(<= ~counter~0 1)} #86#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,562 INFO L290 TraceCheckUtils]: 29: Hoare triple {6349#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:48,563 INFO L290 TraceCheckUtils]: 30: Hoare triple {6349#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,563 INFO L290 TraceCheckUtils]: 31: Hoare triple {6404#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,563 INFO L272 TraceCheckUtils]: 32: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,564 INFO L290 TraceCheckUtils]: 33: Hoare triple {6404#(<= ~counter~0 2)} ~cond := #in~cond; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,564 INFO L290 TraceCheckUtils]: 34: Hoare triple {6404#(<= ~counter~0 2)} assume !(0 == ~cond); {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {6404#(<= ~counter~0 2)} assume true; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,568 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6404#(<= ~counter~0 2)} {6404#(<= ~counter~0 2)} #82#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,568 INFO L272 TraceCheckUtils]: 37: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,569 INFO L290 TraceCheckUtils]: 38: Hoare triple {6404#(<= ~counter~0 2)} ~cond := #in~cond; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,569 INFO L290 TraceCheckUtils]: 39: Hoare triple {6404#(<= ~counter~0 2)} assume !(0 == ~cond); {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,569 INFO L290 TraceCheckUtils]: 40: Hoare triple {6404#(<= ~counter~0 2)} assume true; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,570 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6404#(<= ~counter~0 2)} {6404#(<= ~counter~0 2)} #84#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,570 INFO L272 TraceCheckUtils]: 42: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,571 INFO L290 TraceCheckUtils]: 43: Hoare triple {6404#(<= ~counter~0 2)} ~cond := #in~cond; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,571 INFO L290 TraceCheckUtils]: 44: Hoare triple {6404#(<= ~counter~0 2)} assume !(0 == ~cond); {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,571 INFO L290 TraceCheckUtils]: 45: Hoare triple {6404#(<= ~counter~0 2)} assume true; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,572 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6404#(<= ~counter~0 2)} {6404#(<= ~counter~0 2)} #86#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,572 INFO L290 TraceCheckUtils]: 47: Hoare triple {6404#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:48,585 INFO L290 TraceCheckUtils]: 48: Hoare triple {6404#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,586 INFO L290 TraceCheckUtils]: 49: Hoare triple {6459#(<= ~counter~0 3)} assume !!(#t~post7 < 5);havoc #t~post7; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,586 INFO L272 TraceCheckUtils]: 50: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,587 INFO L290 TraceCheckUtils]: 51: Hoare triple {6459#(<= ~counter~0 3)} ~cond := #in~cond; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,587 INFO L290 TraceCheckUtils]: 52: Hoare triple {6459#(<= ~counter~0 3)} assume !(0 == ~cond); {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,587 INFO L290 TraceCheckUtils]: 53: Hoare triple {6459#(<= ~counter~0 3)} assume true; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,588 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6459#(<= ~counter~0 3)} {6459#(<= ~counter~0 3)} #88#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,589 INFO L272 TraceCheckUtils]: 55: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,589 INFO L290 TraceCheckUtils]: 56: Hoare triple {6459#(<= ~counter~0 3)} ~cond := #in~cond; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,589 INFO L290 TraceCheckUtils]: 57: Hoare triple {6459#(<= ~counter~0 3)} assume !(0 == ~cond); {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,590 INFO L290 TraceCheckUtils]: 58: Hoare triple {6459#(<= ~counter~0 3)} assume true; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,590 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6459#(<= ~counter~0 3)} {6459#(<= ~counter~0 3)} #90#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,591 INFO L290 TraceCheckUtils]: 60: Hoare triple {6459#(<= ~counter~0 3)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,591 INFO L290 TraceCheckUtils]: 61: Hoare triple {6459#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:48,592 INFO L290 TraceCheckUtils]: 62: Hoare triple {6459#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6502#(<= |main_#t~post7| 3)} is VALID [2022-04-28 06:16:48,592 INFO L290 TraceCheckUtils]: 63: Hoare triple {6502#(<= |main_#t~post7| 3)} assume !(#t~post7 < 5);havoc #t~post7; {6308#false} is VALID [2022-04-28 06:16:48,592 INFO L272 TraceCheckUtils]: 64: Hoare triple {6308#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6308#false} is VALID [2022-04-28 06:16:48,592 INFO L290 TraceCheckUtils]: 65: Hoare triple {6308#false} ~cond := #in~cond; {6308#false} is VALID [2022-04-28 06:16:48,592 INFO L290 TraceCheckUtils]: 66: Hoare triple {6308#false} assume 0 == ~cond; {6308#false} is VALID [2022-04-28 06:16:48,592 INFO L290 TraceCheckUtils]: 67: Hoare triple {6308#false} assume !false; {6308#false} is VALID [2022-04-28 06:16:48,593 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 92 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 06:16:48,593 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:16:49,035 INFO L290 TraceCheckUtils]: 67: Hoare triple {6308#false} assume !false; {6308#false} is VALID [2022-04-28 06:16:49,035 INFO L290 TraceCheckUtils]: 66: Hoare triple {6308#false} assume 0 == ~cond; {6308#false} is VALID [2022-04-28 06:16:49,035 INFO L290 TraceCheckUtils]: 65: Hoare triple {6308#false} ~cond := #in~cond; {6308#false} is VALID [2022-04-28 06:16:49,036 INFO L272 TraceCheckUtils]: 64: Hoare triple {6308#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6308#false} is VALID [2022-04-28 06:16:49,036 INFO L290 TraceCheckUtils]: 63: Hoare triple {6530#(< |main_#t~post7| 5)} assume !(#t~post7 < 5);havoc #t~post7; {6308#false} is VALID [2022-04-28 06:16:49,036 INFO L290 TraceCheckUtils]: 62: Hoare triple {6534#(< ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6530#(< |main_#t~post7| 5)} is VALID [2022-04-28 06:16:49,037 INFO L290 TraceCheckUtils]: 61: Hoare triple {6534#(< ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6534#(< ~counter~0 5)} is VALID [2022-04-28 06:16:49,037 INFO L290 TraceCheckUtils]: 60: Hoare triple {6534#(< ~counter~0 5)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6534#(< ~counter~0 5)} is VALID [2022-04-28 06:16:49,038 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6307#true} {6534#(< ~counter~0 5)} #90#return; {6534#(< ~counter~0 5)} is VALID [2022-04-28 06:16:49,038 INFO L290 TraceCheckUtils]: 58: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,038 INFO L290 TraceCheckUtils]: 57: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,038 INFO L290 TraceCheckUtils]: 56: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,038 INFO L272 TraceCheckUtils]: 55: Hoare triple {6534#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,038 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6307#true} {6534#(< ~counter~0 5)} #88#return; {6534#(< ~counter~0 5)} is VALID [2022-04-28 06:16:49,039 INFO L290 TraceCheckUtils]: 53: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,039 INFO L290 TraceCheckUtils]: 52: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,039 INFO L290 TraceCheckUtils]: 51: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,039 INFO L272 TraceCheckUtils]: 50: Hoare triple {6534#(< ~counter~0 5)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,039 INFO L290 TraceCheckUtils]: 49: Hoare triple {6534#(< ~counter~0 5)} assume !!(#t~post7 < 5);havoc #t~post7; {6534#(< ~counter~0 5)} is VALID [2022-04-28 06:16:49,040 INFO L290 TraceCheckUtils]: 48: Hoare triple {6459#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6534#(< ~counter~0 5)} is VALID [2022-04-28 06:16:49,040 INFO L290 TraceCheckUtils]: 47: Hoare triple {6459#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:49,041 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6307#true} {6459#(<= ~counter~0 3)} #86#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:49,041 INFO L290 TraceCheckUtils]: 45: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,041 INFO L290 TraceCheckUtils]: 44: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,041 INFO L290 TraceCheckUtils]: 43: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,041 INFO L272 TraceCheckUtils]: 42: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,041 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6307#true} {6459#(<= ~counter~0 3)} #84#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:49,042 INFO L290 TraceCheckUtils]: 40: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,042 INFO L290 TraceCheckUtils]: 39: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,042 INFO L290 TraceCheckUtils]: 38: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,042 INFO L272 TraceCheckUtils]: 37: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,042 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6307#true} {6459#(<= ~counter~0 3)} #82#return; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:49,042 INFO L290 TraceCheckUtils]: 35: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,042 INFO L290 TraceCheckUtils]: 34: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,043 INFO L290 TraceCheckUtils]: 33: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,043 INFO L272 TraceCheckUtils]: 32: Hoare triple {6459#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,043 INFO L290 TraceCheckUtils]: 31: Hoare triple {6459#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:49,044 INFO L290 TraceCheckUtils]: 30: Hoare triple {6404#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6459#(<= ~counter~0 3)} is VALID [2022-04-28 06:16:49,044 INFO L290 TraceCheckUtils]: 29: Hoare triple {6404#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:49,044 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6307#true} {6404#(<= ~counter~0 2)} #86#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:49,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,045 INFO L272 TraceCheckUtils]: 24: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,045 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6307#true} {6404#(<= ~counter~0 2)} #84#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:49,045 INFO L290 TraceCheckUtils]: 22: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,045 INFO L290 TraceCheckUtils]: 21: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,046 INFO L272 TraceCheckUtils]: 19: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,046 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6307#true} {6404#(<= ~counter~0 2)} #82#return; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:49,046 INFO L290 TraceCheckUtils]: 17: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,046 INFO L290 TraceCheckUtils]: 16: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,046 INFO L272 TraceCheckUtils]: 14: Hoare triple {6404#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {6404#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:49,047 INFO L290 TraceCheckUtils]: 12: Hoare triple {6349#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6404#(<= ~counter~0 2)} is VALID [2022-04-28 06:16:49,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {6349#(<= ~counter~0 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:49,048 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6307#true} {6349#(<= ~counter~0 1)} #80#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:49,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {6307#true} assume true; {6307#true} is VALID [2022-04-28 06:16:49,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {6307#true} assume !(0 == ~cond); {6307#true} is VALID [2022-04-28 06:16:49,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {6307#true} ~cond := #in~cond; {6307#true} is VALID [2022-04-28 06:16:49,049 INFO L272 TraceCheckUtils]: 6: Hoare triple {6349#(<= ~counter~0 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6307#true} is VALID [2022-04-28 06:16:49,049 INFO L290 TraceCheckUtils]: 5: Hoare triple {6349#(<= ~counter~0 1)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:49,053 INFO L272 TraceCheckUtils]: 4: Hoare triple {6349#(<= ~counter~0 1)} call #t~ret8 := main(); {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:49,053 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6349#(<= ~counter~0 1)} {6307#true} #96#return; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:49,054 INFO L290 TraceCheckUtils]: 2: Hoare triple {6349#(<= ~counter~0 1)} assume true; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:49,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {6307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6349#(<= ~counter~0 1)} is VALID [2022-04-28 06:16:49,054 INFO L272 TraceCheckUtils]: 0: Hoare triple {6307#true} call ULTIMATE.init(); {6307#true} is VALID [2022-04-28 06:16:49,054 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:16:49,055 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:16:49,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2051622999] [2022-04-28 06:16:49,055 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:16:49,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1302132238] [2022-04-28 06:16:49,055 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1302132238] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:16:49,055 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:16:49,055 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-28 06:16:49,055 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:16:49,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1275885437] [2022-04-28 06:16:49,055 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1275885437] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:16:49,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:16:49,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:16:49,056 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [595266276] [2022-04-28 06:16:49,056 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:16:49,056 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 06:16:49,056 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:16:49,056 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:16:49,140 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 06:16:49,140 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:16:49,141 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:49,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:16:49,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:16:49,142 INFO L87 Difference]: Start difference. First operand 99 states and 115 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:16:49,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:49,700 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-28 06:16:49,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:16:49,701 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 68 [2022-04-28 06:16:49,701 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:16:49,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:16:49,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-28 06:16:49,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:16:49,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 107 transitions. [2022-04-28 06:16:49,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 107 transitions. [2022-04-28 06:16:49,801 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 06:16:49,803 INFO L225 Difference]: With dead ends: 151 [2022-04-28 06:16:49,803 INFO L226 Difference]: Without dead ends: 136 [2022-04-28 06:16:49,804 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 127 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:16:49,804 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 29 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:16:49,804 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 173 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:16:49,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-28 06:16:49,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 133. [2022-04-28 06:16:49,935 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:16:49,946 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:16:49,946 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:16:49,946 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:16:49,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:49,966 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-28 06:16:49,966 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-28 06:16:49,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:49,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:49,967 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-28 06:16:49,968 INFO L87 Difference]: Start difference. First operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 136 states. [2022-04-28 06:16:49,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:16:49,972 INFO L93 Difference]: Finished difference Result 136 states and 156 transitions. [2022-04-28 06:16:49,973 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 156 transitions. [2022-04-28 06:16:49,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:16:49,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:16:49,973 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:16:49,973 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:16:49,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 87 states have (on average 1.160919540229885) internal successors, (101), 90 states have internal predecessors, (101), 28 states have call successors, (28), 19 states have call predecessors, (28), 17 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:16:49,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 154 transitions. [2022-04-28 06:16:49,976 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 154 transitions. Word has length 68 [2022-04-28 06:16:49,976 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:16:49,976 INFO L495 AbstractCegarLoop]: Abstraction has 133 states and 154 transitions. [2022-04-28 06:16:49,977 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 6 states have internal predecessors, (31), 6 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-28 06:16:49,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 133 states and 154 transitions. [2022-04-28 06:16:50,209 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:16:50,209 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 154 transitions. [2022-04-28 06:16:50,210 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 06:16:50,210 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:16:50,210 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:16:50,238 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 06:16:50,410 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:50,411 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:16:50,411 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:16:50,411 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-28 06:16:50,411 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:16:50,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1205395093] [2022-04-28 06:16:56,908 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:16:56,908 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:16:56,908 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:16:56,909 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 2 times [2022-04-28 06:16:56,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:16:56,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1446752396] [2022-04-28 06:16:56,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:16:56,909 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:16:56,928 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:16:56,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1820731538] [2022-04-28 06:16:56,929 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:16:56,929 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:16:56,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:16:56,932 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 06:16:56,950 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 06:16:57,006 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:16:57,006 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:16:57,007 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 06:16:57,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:16:57,028 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:02,880 INFO L272 TraceCheckUtils]: 0: Hoare triple {7565#true} call ULTIMATE.init(); {7565#true} is VALID [2022-04-28 06:17:02,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {7565#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7565#true} is VALID [2022-04-28 06:17:02,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7565#true} {7565#true} #96#return; {7565#true} is VALID [2022-04-28 06:17:02,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {7565#true} call #t~ret8 := main(); {7565#true} is VALID [2022-04-28 06:17:02,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {7565#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7565#true} is VALID [2022-04-28 06:17:02,881 INFO L272 TraceCheckUtils]: 6: Hoare triple {7565#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,882 INFO L290 TraceCheckUtils]: 7: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,882 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7565#true} {7565#true} #80#return; {7565#true} is VALID [2022-04-28 06:17:02,882 INFO L290 TraceCheckUtils]: 11: Hoare triple {7565#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:02,883 INFO L290 TraceCheckUtils]: 12: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:02,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:02,883 INFO L272 TraceCheckUtils]: 14: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,884 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7565#true} {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:02,885 INFO L272 TraceCheckUtils]: 19: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,885 INFO L290 TraceCheckUtils]: 20: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,885 INFO L290 TraceCheckUtils]: 21: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,885 INFO L290 TraceCheckUtils]: 22: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,885 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7565#true} {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:02,886 INFO L272 TraceCheckUtils]: 24: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,886 INFO L290 TraceCheckUtils]: 25: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,886 INFO L290 TraceCheckUtils]: 26: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,886 INFO L290 TraceCheckUtils]: 27: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,886 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7565#true} {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:02,888 INFO L290 TraceCheckUtils]: 29: Hoare triple {7603#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,888 INFO L290 TraceCheckUtils]: 30: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,889 INFO L272 TraceCheckUtils]: 32: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,889 INFO L290 TraceCheckUtils]: 33: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,889 INFO L290 TraceCheckUtils]: 34: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,889 INFO L290 TraceCheckUtils]: 35: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,890 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7565#true} {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,890 INFO L272 TraceCheckUtils]: 37: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,890 INFO L290 TraceCheckUtils]: 38: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,890 INFO L290 TraceCheckUtils]: 39: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,890 INFO L290 TraceCheckUtils]: 40: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,891 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7565#true} {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,891 INFO L272 TraceCheckUtils]: 42: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,891 INFO L290 TraceCheckUtils]: 43: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,891 INFO L290 TraceCheckUtils]: 44: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,891 INFO L290 TraceCheckUtils]: 45: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,892 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7565#true} {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,893 INFO L290 TraceCheckUtils]: 47: Hoare triple {7658#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,893 INFO L290 TraceCheckUtils]: 48: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,894 INFO L290 TraceCheckUtils]: 49: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,894 INFO L272 TraceCheckUtils]: 50: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,894 INFO L290 TraceCheckUtils]: 51: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,894 INFO L290 TraceCheckUtils]: 52: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,894 INFO L290 TraceCheckUtils]: 53: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,895 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7565#true} {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #88#return; {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,896 INFO L272 TraceCheckUtils]: 55: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:02,896 INFO L290 TraceCheckUtils]: 56: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:02,896 INFO L290 TraceCheckUtils]: 57: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:02,896 INFO L290 TraceCheckUtils]: 58: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:02,897 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7565#true} {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #90#return; {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:02,899 INFO L290 TraceCheckUtils]: 60: Hoare triple {7713#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7753#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 06:17:02,901 INFO L290 TraceCheckUtils]: 61: Hoare triple {7753#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-28 06:17:02,902 INFO L290 TraceCheckUtils]: 62: Hoare triple {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-28 06:17:02,902 INFO L290 TraceCheckUtils]: 63: Hoare triple {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !!(#t~post7 < 5);havoc #t~post7; {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-28 06:17:02,903 INFO L272 TraceCheckUtils]: 64: Hoare triple {7757#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7767#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:02,904 INFO L290 TraceCheckUtils]: 65: Hoare triple {7767#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7771#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:02,904 INFO L290 TraceCheckUtils]: 66: Hoare triple {7771#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7566#false} is VALID [2022-04-28 06:17:02,904 INFO L290 TraceCheckUtils]: 67: Hoare triple {7566#false} assume !false; {7566#false} is VALID [2022-04-28 06:17:02,905 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:17:02,905 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:17:12,697 INFO L290 TraceCheckUtils]: 67: Hoare triple {7566#false} assume !false; {7566#false} is VALID [2022-04-28 06:17:12,698 INFO L290 TraceCheckUtils]: 66: Hoare triple {7771#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7566#false} is VALID [2022-04-28 06:17:12,698 INFO L290 TraceCheckUtils]: 65: Hoare triple {7767#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7771#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:12,699 INFO L272 TraceCheckUtils]: 64: Hoare triple {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7767#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:12,700 INFO L290 TraceCheckUtils]: 63: Hoare triple {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 5);havoc #t~post7; {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:17:12,700 INFO L290 TraceCheckUtils]: 62: Hoare triple {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:17:12,703 INFO L290 TraceCheckUtils]: 61: Hoare triple {7797#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7787#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 06:17:12,715 INFO L290 TraceCheckUtils]: 60: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7797#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 06:17:12,716 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7565#true} {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:12,716 INFO L290 TraceCheckUtils]: 58: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,716 INFO L290 TraceCheckUtils]: 57: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,716 INFO L290 TraceCheckUtils]: 56: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,716 INFO L272 TraceCheckUtils]: 55: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,717 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7565#true} {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:12,717 INFO L290 TraceCheckUtils]: 53: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,717 INFO L290 TraceCheckUtils]: 52: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,717 INFO L290 TraceCheckUtils]: 51: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,717 INFO L272 TraceCheckUtils]: 50: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,718 INFO L290 TraceCheckUtils]: 49: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:12,719 INFO L290 TraceCheckUtils]: 48: Hoare triple {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:12,720 INFO L290 TraceCheckUtils]: 47: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {7801#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:12,721 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {7565#true} {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #86#return; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:12,721 INFO L290 TraceCheckUtils]: 45: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,721 INFO L290 TraceCheckUtils]: 44: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,721 INFO L290 TraceCheckUtils]: 43: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,721 INFO L272 TraceCheckUtils]: 42: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,722 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7565#true} {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #84#return; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:12,722 INFO L290 TraceCheckUtils]: 40: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,722 INFO L290 TraceCheckUtils]: 39: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,722 INFO L290 TraceCheckUtils]: 38: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,722 INFO L272 TraceCheckUtils]: 37: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,723 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7565#true} {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #82#return; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:12,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,723 INFO L290 TraceCheckUtils]: 34: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,723 INFO L290 TraceCheckUtils]: 33: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,723 INFO L272 TraceCheckUtils]: 32: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,724 INFO L290 TraceCheckUtils]: 31: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:12,725 INFO L290 TraceCheckUtils]: 30: Hoare triple {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:12,728 INFO L290 TraceCheckUtils]: 29: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7841#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:17:12,729 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7565#true} {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #86#return; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:17:12,729 INFO L290 TraceCheckUtils]: 27: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,729 INFO L290 TraceCheckUtils]: 26: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,729 INFO L290 TraceCheckUtils]: 25: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,729 INFO L272 TraceCheckUtils]: 24: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,730 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7565#true} {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #84#return; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:17:12,730 INFO L290 TraceCheckUtils]: 22: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,730 INFO L290 TraceCheckUtils]: 21: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,730 INFO L272 TraceCheckUtils]: 19: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,731 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7565#true} {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #82#return; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:17:12,731 INFO L290 TraceCheckUtils]: 17: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,731 INFO L290 TraceCheckUtils]: 16: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,731 INFO L290 TraceCheckUtils]: 15: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,731 INFO L272 TraceCheckUtils]: 14: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:17:12,732 INFO L290 TraceCheckUtils]: 12: Hoare triple {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:17:12,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {7565#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7896#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 06:17:12,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7565#true} {7565#true} #80#return; {7565#true} is VALID [2022-04-28 06:17:12,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {7565#true} assume !(0 == ~cond); {7565#true} is VALID [2022-04-28 06:17:12,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2022-04-28 06:17:12,733 INFO L272 TraceCheckUtils]: 6: Hoare triple {7565#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7565#true} is VALID [2022-04-28 06:17:12,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {7565#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {7565#true} is VALID [2022-04-28 06:17:12,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {7565#true} call #t~ret8 := main(); {7565#true} is VALID [2022-04-28 06:17:12,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7565#true} {7565#true} #96#return; {7565#true} is VALID [2022-04-28 06:17:12,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {7565#true} assume true; {7565#true} is VALID [2022-04-28 06:17:12,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {7565#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7565#true} is VALID [2022-04-28 06:17:12,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {7565#true} call ULTIMATE.init(); {7565#true} is VALID [2022-04-28 06:17:12,734 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-28 06:17:12,734 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:12,734 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1446752396] [2022-04-28 06:17:12,734 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:12,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1820731538] [2022-04-28 06:17:12,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1820731538] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:17:12,735 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:17:12,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 06:17:12,735 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:12,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1205395093] [2022-04-28 06:17:12,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1205395093] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:12,735 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:12,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:17:12,735 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1429016784] [2022-04-28 06:17:12,735 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:12,736 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-28 06:17:12,736 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:12,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:17:12,783 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 06:17:12,784 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:17:12,784 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:12,784 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:17:12,784 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:17:12,784 INFO L87 Difference]: Start difference. First operand 133 states and 154 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:17:13,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:13,805 INFO L93 Difference]: Finished difference Result 178 states and 213 transitions. [2022-04-28 06:17:13,805 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:17:13,805 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 68 [2022-04-28 06:17:13,805 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:13,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:17:13,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 06:17:13,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:17:13,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 06:17:13,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 06:17:13,909 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 06:17:13,918 INFO L225 Difference]: With dead ends: 178 [2022-04-28 06:17:13,918 INFO L226 Difference]: Without dead ends: 143 [2022-04-28 06:17:13,919 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 122 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:17:13,920 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 12 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 183 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 207 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 183 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:13,920 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 207 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 183 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 06:17:13,921 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-28 06:17:14,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 141. [2022-04-28 06:17:14,030 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:14,030 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:17:14,030 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:17:14,031 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:17:14,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:14,034 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-28 06:17:14,034 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-28 06:17:14,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:14,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:14,035 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 06:17:14,035 INFO L87 Difference]: Start difference. First operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 06:17:14,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:14,038 INFO L93 Difference]: Finished difference Result 143 states and 165 transitions. [2022-04-28 06:17:14,038 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 165 transitions. [2022-04-28 06:17:14,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:14,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:14,038 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:14,038 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:14,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 93 states have (on average 1.1612903225806452) internal successors, (108), 96 states have internal predecessors, (108), 28 states have call successors, (28), 20 states have call predecessors, (28), 19 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:17:14,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 162 transitions. [2022-04-28 06:17:14,042 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 162 transitions. Word has length 68 [2022-04-28 06:17:14,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:14,042 INFO L495 AbstractCegarLoop]: Abstraction has 141 states and 162 transitions. [2022-04-28 06:17:14,042 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:17:14,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 141 states and 162 transitions. [2022-04-28 06:17:14,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:14,231 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 162 transitions. [2022-04-28 06:17:14,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 06:17:14,232 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:14,232 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:14,249 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 06:17:14,433 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,SelfDestructingSolverStorable12 [2022-04-28 06:17:14,433 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:14,433 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:14,433 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 3 times [2022-04-28 06:17:14,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:14,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1497552138] [2022-04-28 06:17:20,940 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:17:20,940 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:17:20,940 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:17:20,940 INFO L85 PathProgramCache]: Analyzing trace with hash -1390565976, now seen corresponding path program 4 times [2022-04-28 06:17:20,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:20,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1515790037] [2022-04-28 06:17:20,940 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:20,940 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:20,968 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:20,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [188772829] [2022-04-28 06:17:20,968 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:17:20,968 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:20,968 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:20,972 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 06:17:20,973 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 06:17:21,029 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:17:21,030 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:21,032 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 06:17:21,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:21,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:17:21,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {8912#true} call ULTIMATE.init(); {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {8912#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L290 TraceCheckUtils]: 2: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8912#true} {8912#true} #96#return; {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L272 TraceCheckUtils]: 4: Hoare triple {8912#true} call #t~ret8 := main(); {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {8912#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L272 TraceCheckUtils]: 6: Hoare triple {8912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8912#true} {8912#true} #80#return; {8912#true} is VALID [2022-04-28 06:17:21,931 INFO L290 TraceCheckUtils]: 11: Hoare triple {8912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,932 INFO L290 TraceCheckUtils]: 12: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,932 INFO L272 TraceCheckUtils]: 14: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,932 INFO L290 TraceCheckUtils]: 16: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,932 INFO L290 TraceCheckUtils]: 17: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,933 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8912#true} {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,933 INFO L272 TraceCheckUtils]: 19: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,933 INFO L290 TraceCheckUtils]: 20: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,933 INFO L290 TraceCheckUtils]: 21: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,933 INFO L290 TraceCheckUtils]: 22: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,933 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8912#true} {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,934 INFO L272 TraceCheckUtils]: 24: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,934 INFO L290 TraceCheckUtils]: 25: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,934 INFO L290 TraceCheckUtils]: 26: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,934 INFO L290 TraceCheckUtils]: 27: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,934 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8912#true} {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,935 INFO L290 TraceCheckUtils]: 29: Hoare triple {8950#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:21,935 INFO L290 TraceCheckUtils]: 30: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:21,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:21,936 INFO L272 TraceCheckUtils]: 32: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,936 INFO L290 TraceCheckUtils]: 33: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,936 INFO L290 TraceCheckUtils]: 34: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,936 INFO L290 TraceCheckUtils]: 35: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,937 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8912#true} {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:21,937 INFO L272 TraceCheckUtils]: 37: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,937 INFO L290 TraceCheckUtils]: 38: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,937 INFO L290 TraceCheckUtils]: 39: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,937 INFO L290 TraceCheckUtils]: 40: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,937 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8912#true} {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:21,937 INFO L272 TraceCheckUtils]: 42: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,937 INFO L290 TraceCheckUtils]: 43: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,937 INFO L290 TraceCheckUtils]: 44: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,938 INFO L290 TraceCheckUtils]: 45: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,938 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8912#true} {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:17:21,939 INFO L290 TraceCheckUtils]: 47: Hoare triple {9005#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:17:21,939 INFO L290 TraceCheckUtils]: 48: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:17:21,940 INFO L290 TraceCheckUtils]: 49: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 5);havoc #t~post7; {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:17:21,940 INFO L272 TraceCheckUtils]: 50: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,940 INFO L290 TraceCheckUtils]: 51: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,940 INFO L290 TraceCheckUtils]: 52: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,940 INFO L290 TraceCheckUtils]: 53: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,940 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8912#true} {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:17:21,941 INFO L272 TraceCheckUtils]: 55: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,941 INFO L290 TraceCheckUtils]: 56: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,941 INFO L290 TraceCheckUtils]: 57: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,941 INFO L290 TraceCheckUtils]: 58: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,941 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8912#true} {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 06:17:21,942 INFO L290 TraceCheckUtils]: 60: Hoare triple {9060#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,942 INFO L290 TraceCheckUtils]: 61: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,943 INFO L290 TraceCheckUtils]: 62: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,943 INFO L290 TraceCheckUtils]: 63: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post7 < 5);havoc #t~post7; {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,943 INFO L272 TraceCheckUtils]: 64: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:21,944 INFO L290 TraceCheckUtils]: 65: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:21,944 INFO L290 TraceCheckUtils]: 66: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:21,944 INFO L290 TraceCheckUtils]: 67: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:21,944 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8912#true} {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #88#return; {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:17:21,945 INFO L272 TraceCheckUtils]: 69: Hoare triple {9100#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9128#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:21,945 INFO L290 TraceCheckUtils]: 70: Hoare triple {9128#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9132#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:21,945 INFO L290 TraceCheckUtils]: 71: Hoare triple {9132#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8913#false} is VALID [2022-04-28 06:17:21,945 INFO L290 TraceCheckUtils]: 72: Hoare triple {8913#false} assume !false; {8913#false} is VALID [2022-04-28 06:17:21,946 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 18 proven. 10 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 06:17:21,946 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:17:29,095 INFO L290 TraceCheckUtils]: 72: Hoare triple {8913#false} assume !false; {8913#false} is VALID [2022-04-28 06:17:29,096 INFO L290 TraceCheckUtils]: 71: Hoare triple {9132#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8913#false} is VALID [2022-04-28 06:17:29,096 INFO L290 TraceCheckUtils]: 70: Hoare triple {9128#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9132#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:17:29,097 INFO L272 TraceCheckUtils]: 69: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9128#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:17:29,097 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8912#true} {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:29,097 INFO L290 TraceCheckUtils]: 67: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,097 INFO L290 TraceCheckUtils]: 66: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,097 INFO L290 TraceCheckUtils]: 65: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,097 INFO L272 TraceCheckUtils]: 64: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,098 INFO L290 TraceCheckUtils]: 63: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:29,098 INFO L290 TraceCheckUtils]: 62: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:29,098 INFO L290 TraceCheckUtils]: 61: Hoare triple {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:29,115 INFO L290 TraceCheckUtils]: 60: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9148#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:17:29,120 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8912#true} {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #90#return; {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:29,120 INFO L290 TraceCheckUtils]: 58: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,120 INFO L290 TraceCheckUtils]: 57: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,120 INFO L290 TraceCheckUtils]: 56: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,120 INFO L272 TraceCheckUtils]: 55: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,121 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8912#true} {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:29,121 INFO L290 TraceCheckUtils]: 53: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,121 INFO L290 TraceCheckUtils]: 52: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,121 INFO L290 TraceCheckUtils]: 51: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,121 INFO L272 TraceCheckUtils]: 50: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,122 INFO L290 TraceCheckUtils]: 49: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:29,124 INFO L290 TraceCheckUtils]: 48: Hoare triple {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:29,125 INFO L290 TraceCheckUtils]: 47: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {9176#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:17:29,125 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8912#true} {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #86#return; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:17:29,125 INFO L290 TraceCheckUtils]: 45: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,125 INFO L290 TraceCheckUtils]: 44: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,126 INFO L290 TraceCheckUtils]: 43: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,126 INFO L272 TraceCheckUtils]: 42: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,126 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8912#true} {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:17:29,126 INFO L290 TraceCheckUtils]: 40: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,127 INFO L290 TraceCheckUtils]: 39: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,127 INFO L272 TraceCheckUtils]: 37: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,127 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8912#true} {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:17:29,127 INFO L290 TraceCheckUtils]: 35: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,128 INFO L290 TraceCheckUtils]: 34: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,128 INFO L290 TraceCheckUtils]: 33: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,128 INFO L272 TraceCheckUtils]: 32: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,129 INFO L290 TraceCheckUtils]: 31: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !!(#t~post6 < 5);havoc #t~post6; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:17:29,130 INFO L290 TraceCheckUtils]: 30: Hoare triple {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:17:29,134 INFO L290 TraceCheckUtils]: 29: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9216#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:17:29,135 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8912#true} {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:17:29,135 INFO L290 TraceCheckUtils]: 27: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,135 INFO L290 TraceCheckUtils]: 26: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,135 INFO L290 TraceCheckUtils]: 25: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,136 INFO L272 TraceCheckUtils]: 24: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,136 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8912#true} {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:17:29,136 INFO L290 TraceCheckUtils]: 22: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,136 INFO L290 TraceCheckUtils]: 21: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,137 INFO L272 TraceCheckUtils]: 19: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,137 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8912#true} {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:17:29,137 INFO L290 TraceCheckUtils]: 17: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,137 INFO L290 TraceCheckUtils]: 16: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,137 INFO L290 TraceCheckUtils]: 15: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,138 INFO L272 TraceCheckUtils]: 14: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 5);havoc #t~post6; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:17:29,139 INFO L290 TraceCheckUtils]: 12: Hoare triple {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:17:29,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {8912#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9271#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:17:29,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8912#true} {8912#true} #80#return; {8912#true} is VALID [2022-04-28 06:17:29,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {8912#true} assume !(0 == ~cond); {8912#true} is VALID [2022-04-28 06:17:29,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {8912#true} ~cond := #in~cond; {8912#true} is VALID [2022-04-28 06:17:29,140 INFO L272 TraceCheckUtils]: 6: Hoare triple {8912#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8912#true} is VALID [2022-04-28 06:17:29,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {8912#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8912#true} is VALID [2022-04-28 06:17:29,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {8912#true} call #t~ret8 := main(); {8912#true} is VALID [2022-04-28 06:17:29,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8912#true} {8912#true} #96#return; {8912#true} is VALID [2022-04-28 06:17:29,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {8912#true} assume true; {8912#true} is VALID [2022-04-28 06:17:29,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {8912#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8912#true} is VALID [2022-04-28 06:17:29,140 INFO L272 TraceCheckUtils]: 0: Hoare triple {8912#true} call ULTIMATE.init(); {8912#true} is VALID [2022-04-28 06:17:29,141 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 18 proven. 10 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 06:17:29,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:17:29,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1515790037] [2022-04-28 06:17:29,141 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:17:29,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [188772829] [2022-04-28 06:17:29,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [188772829] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:17:29,141 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:17:29,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 06:17:29,141 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:17:29,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1497552138] [2022-04-28 06:17:29,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1497552138] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:17:29,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:17:29,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:17:29,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [141895764] [2022-04-28 06:17:29,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:17:29,142 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 06:17:29,142 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:17:29,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:17:29,207 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 06:17:29,207 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:17:29,207 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:29,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:17:29,208 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:17:29,208 INFO L87 Difference]: Start difference. First operand 141 states and 162 transitions. Second operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:17:30,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:30,362 INFO L93 Difference]: Finished difference Result 168 states and 197 transitions. [2022-04-28 06:17:30,362 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 06:17:30,362 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 06:17:30,363 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:17:30,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:17:30,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 103 transitions. [2022-04-28 06:17:30,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:17:30,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 103 transitions. [2022-04-28 06:17:30,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 103 transitions. [2022-04-28 06:17:30,482 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 06:17:30,485 INFO L225 Difference]: With dead ends: 168 [2022-04-28 06:17:30,485 INFO L226 Difference]: Without dead ends: 143 [2022-04-28 06:17:30,486 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 134 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 06:17:30,486 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 12 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 171 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 171 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 06:17:30,487 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 260 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 171 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 06:17:30,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-28 06:17:30,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 143. [2022-04-28 06:17:30,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:17:30,635 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:17:30,635 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:17:30,635 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:17:30,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:30,638 INFO L93 Difference]: Finished difference Result 143 states and 160 transitions. [2022-04-28 06:17:30,638 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-28 06:17:30,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:30,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:30,639 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 06:17:30,639 INFO L87 Difference]: Start difference. First operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) Second operand 143 states. [2022-04-28 06:17:30,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:17:30,642 INFO L93 Difference]: Finished difference Result 143 states and 160 transitions. [2022-04-28 06:17:30,642 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-28 06:17:30,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:17:30,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:17:30,643 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:17:30,643 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:17:30,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 93 states have (on average 1.1290322580645162) internal successors, (105), 97 states have internal predecessors, (105), 29 states have call successors, (29), 21 states have call predecessors, (29), 20 states have return successors, (26), 24 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 06:17:30,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 160 transitions. [2022-04-28 06:17:30,646 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 160 transitions. Word has length 73 [2022-04-28 06:17:30,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:17:30,646 INFO L495 AbstractCegarLoop]: Abstraction has 143 states and 160 transitions. [2022-04-28 06:17:30,647 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 06:17:30,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 143 states and 160 transitions. [2022-04-28 06:17:30,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:17:30,830 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 160 transitions. [2022-04-28 06:17:30,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 06:17:30,831 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:17:30,831 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:17:30,847 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 06:17:31,037 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,SelfDestructingSolverStorable13 [2022-04-28 06:17:31,038 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:17:31,038 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:17:31,038 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-28 06:17:31,038 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:17:31,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [241334664] [2022-04-28 06:17:35,392 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:17:35,393 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:17:35,393 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:17:35,393 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 2 times [2022-04-28 06:17:35,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:17:35,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1595199674] [2022-04-28 06:17:35,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:17:35,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:17:35,417 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:17:35,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2061058563] [2022-04-28 06:17:35,418 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:17:35,418 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:17:35,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:17:35,420 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 06:17:35,423 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 06:17:35,528 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:17:35,528 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:17:35,529 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 06:17:35,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:17:35,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:18:11,924 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:18:16,000 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:18:30,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {10273#true} call ULTIMATE.init(); {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {10273#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10273#true} {10273#true} #96#return; {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {10273#true} call #t~ret8 := main(); {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L290 TraceCheckUtils]: 5: Hoare triple {10273#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L272 TraceCheckUtils]: 6: Hoare triple {10273#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L290 TraceCheckUtils]: 7: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L290 TraceCheckUtils]: 8: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L290 TraceCheckUtils]: 9: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10273#true} {10273#true} #80#return; {10273#true} is VALID [2022-04-28 06:18:30,885 INFO L290 TraceCheckUtils]: 11: Hoare triple {10273#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,886 INFO L290 TraceCheckUtils]: 12: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,886 INFO L290 TraceCheckUtils]: 13: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,886 INFO L272 TraceCheckUtils]: 14: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,886 INFO L290 TraceCheckUtils]: 16: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,887 INFO L290 TraceCheckUtils]: 17: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,887 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,887 INFO L272 TraceCheckUtils]: 19: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,887 INFO L290 TraceCheckUtils]: 20: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,887 INFO L290 TraceCheckUtils]: 21: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,887 INFO L290 TraceCheckUtils]: 22: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,888 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,888 INFO L272 TraceCheckUtils]: 24: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,888 INFO L290 TraceCheckUtils]: 25: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,888 INFO L290 TraceCheckUtils]: 26: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,888 INFO L290 TraceCheckUtils]: 27: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,888 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,889 INFO L290 TraceCheckUtils]: 29: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post6 < 5);havoc #t~post6; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,889 INFO L272 TraceCheckUtils]: 32: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,890 INFO L290 TraceCheckUtils]: 33: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,890 INFO L290 TraceCheckUtils]: 34: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,890 INFO L290 TraceCheckUtils]: 35: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,890 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #82#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,890 INFO L272 TraceCheckUtils]: 37: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,890 INFO L290 TraceCheckUtils]: 38: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,890 INFO L290 TraceCheckUtils]: 39: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,890 INFO L290 TraceCheckUtils]: 40: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,891 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #84#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,891 INFO L272 TraceCheckUtils]: 42: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,891 INFO L290 TraceCheckUtils]: 43: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,891 INFO L290 TraceCheckUtils]: 44: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,891 INFO L290 TraceCheckUtils]: 45: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,891 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #86#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,892 INFO L290 TraceCheckUtils]: 47: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,892 INFO L290 TraceCheckUtils]: 48: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,892 INFO L290 TraceCheckUtils]: 49: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,892 INFO L272 TraceCheckUtils]: 50: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,893 INFO L290 TraceCheckUtils]: 51: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,893 INFO L290 TraceCheckUtils]: 52: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,893 INFO L290 TraceCheckUtils]: 53: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,893 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #88#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,893 INFO L272 TraceCheckUtils]: 55: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,893 INFO L290 TraceCheckUtils]: 56: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:18:30,893 INFO L290 TraceCheckUtils]: 57: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:18:30,893 INFO L290 TraceCheckUtils]: 58: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:18:30,894 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10273#true} {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #90#return; {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,894 INFO L290 TraceCheckUtils]: 60: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 06:18:30,895 INFO L290 TraceCheckUtils]: 61: Hoare triple {10311#(and (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 06:18:30,896 INFO L290 TraceCheckUtils]: 62: Hoare triple {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 06:18:30,896 INFO L290 TraceCheckUtils]: 63: Hoare triple {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !!(#t~post7 < 5);havoc #t~post7; {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 06:18:30,896 INFO L272 TraceCheckUtils]: 64: Hoare triple {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,896 INFO L290 TraceCheckUtils]: 65: Hoare triple {10273#true} ~cond := #in~cond; {10475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:30,897 INFO L290 TraceCheckUtils]: 66: Hoare triple {10475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:30,897 INFO L290 TraceCheckUtils]: 67: Hoare triple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:30,897 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} {10462#(and (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #88#return; {10486#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is VALID [2022-04-28 06:18:30,898 INFO L272 TraceCheckUtils]: 69: Hoare triple {10486#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:18:30,898 INFO L290 TraceCheckUtils]: 70: Hoare triple {10273#true} ~cond := #in~cond; {10475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:30,898 INFO L290 TraceCheckUtils]: 71: Hoare triple {10475#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:30,898 INFO L290 TraceCheckUtils]: 72: Hoare triple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:18:32,902 WARN L284 TraceCheckUtils]: 73: Hoare quadruple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} {10486#(and (= main_~q~0 main_~p~0) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} #90#return; {10502#(and (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} is UNKNOWN [2022-04-28 06:18:32,903 INFO L290 TraceCheckUtils]: 74: Hoare triple {10502#(and (or (and (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 0) (= main_~q~0 0) (exists ((aux_div_aux_mod_main_~B~0_26_37 Int) (aux_mod_aux_mod_main_~B~0_26_37 Int)) (and (< (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37) 4294967296) (<= 0 aux_mod_aux_mod_main_~B~0_26_37) (<= 0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) (< aux_mod_aux_mod_main_~B~0_26_37 4294967296) (= (* main_~p~0 (+ (* 4294967296 aux_div_aux_mod_main_~B~0_26_37) aux_mod_aux_mod_main_~B~0_26_37)) main_~d~0)))) (and (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= (mod (div (+ main_~d~0 (* (- 1) (* (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0))) 4294967296) main_~p~0) 0) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0)))) (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) main_~p~0))) 4294967296) (not (= main_~q~0 0)) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (= (mod (+ (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~p~0) main_~d~0) 4294967296) 0))) (= main_~q~0 main_~p~0) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)))} assume !(1 != ~p~0); {10506#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} is VALID [2022-04-28 06:18:32,915 INFO L272 TraceCheckUtils]: 75: Hoare triple {10506#(and (< (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0))) 4294967296) (= (mod (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) 0) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0)) (= main_~q~0 1) (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) 4294967296) (<= 0 (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) (* 4294967296 (div (div (+ main_~d~0 (* (- 1) (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) main_~q~0) main_~q~0)) 4294967296) main_~q~0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:18:32,915 INFO L290 TraceCheckUtils]: 76: Hoare triple {10510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:18:32,916 INFO L290 TraceCheckUtils]: 77: Hoare triple {10514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10274#false} is VALID [2022-04-28 06:18:32,916 INFO L290 TraceCheckUtils]: 78: Hoare triple {10274#false} assume !false; {10274#false} is VALID [2022-04-28 06:18:32,916 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 66 proven. 7 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-28 06:18:32,916 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:19:28,899 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:19:34,620 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:20:05,099 INFO L290 TraceCheckUtils]: 78: Hoare triple {10274#false} assume !false; {10274#false} is VALID [2022-04-28 06:20:05,099 INFO L290 TraceCheckUtils]: 77: Hoare triple {10514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10274#false} is VALID [2022-04-28 06:20:05,100 INFO L290 TraceCheckUtils]: 76: Hoare triple {10510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:20:05,101 INFO L272 TraceCheckUtils]: 75: Hoare triple {10530#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:20:05,101 INFO L290 TraceCheckUtils]: 74: Hoare triple {10534#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {10530#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 06:20:05,102 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} {10538#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} #90#return; {10534#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:20:05,103 INFO L290 TraceCheckUtils]: 72: Hoare triple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:05,103 INFO L290 TraceCheckUtils]: 71: Hoare triple {10548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:05,104 INFO L290 TraceCheckUtils]: 70: Hoare triple {10273#true} ~cond := #in~cond; {10548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:20:05,104 INFO L272 TraceCheckUtils]: 69: Hoare triple {10538#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,106 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} {10273#true} #88#return; {10538#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} is VALID [2022-04-28 06:20:05,107 INFO L290 TraceCheckUtils]: 67: Hoare triple {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:05,107 INFO L290 TraceCheckUtils]: 66: Hoare triple {10548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10479#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:20:05,107 INFO L290 TraceCheckUtils]: 65: Hoare triple {10273#true} ~cond := #in~cond; {10548#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:20:05,108 INFO L272 TraceCheckUtils]: 64: Hoare triple {10273#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 63: Hoare triple {10273#true} assume !!(#t~post7 < 5);havoc #t~post7; {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 62: Hoare triple {10273#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 61: Hoare triple {10273#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 60: Hoare triple {10273#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10273#true} {10273#true} #90#return; {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 58: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 57: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 56: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L272 TraceCheckUtils]: 55: Hoare triple {10273#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10273#true} {10273#true} #88#return; {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 53: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,108 INFO L290 TraceCheckUtils]: 52: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 51: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L272 TraceCheckUtils]: 50: Hoare triple {10273#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 49: Hoare triple {10273#true} assume !!(#t~post7 < 5);havoc #t~post7; {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 48: Hoare triple {10273#true} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 47: Hoare triple {10273#true} assume !(~r~0 >= ~d~0); {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10273#true} {10273#true} #86#return; {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 45: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 44: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 43: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L272 TraceCheckUtils]: 42: Hoare triple {10273#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10273#true} {10273#true} #84#return; {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 40: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,109 INFO L290 TraceCheckUtils]: 39: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 38: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L272 TraceCheckUtils]: 37: Hoare triple {10273#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10273#true} {10273#true} #82#return; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 35: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 34: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 33: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L272 TraceCheckUtils]: 32: Hoare triple {10273#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 31: Hoare triple {10273#true} assume !!(#t~post6 < 5);havoc #t~post6; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 30: Hoare triple {10273#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 29: Hoare triple {10273#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10273#true} {10273#true} #86#return; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 27: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,110 INFO L290 TraceCheckUtils]: 26: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L272 TraceCheckUtils]: 24: Hoare triple {10273#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10273#true} {10273#true} #84#return; {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L290 TraceCheckUtils]: 22: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L290 TraceCheckUtils]: 21: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L290 TraceCheckUtils]: 20: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L272 TraceCheckUtils]: 19: Hoare triple {10273#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10273#true} {10273#true} #82#return; {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L290 TraceCheckUtils]: 17: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L290 TraceCheckUtils]: 16: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L290 TraceCheckUtils]: 15: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L272 TraceCheckUtils]: 14: Hoare triple {10273#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,111 INFO L290 TraceCheckUtils]: 13: Hoare triple {10273#true} assume !!(#t~post6 < 5);havoc #t~post6; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L290 TraceCheckUtils]: 12: Hoare triple {10273#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L290 TraceCheckUtils]: 11: Hoare triple {10273#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10273#true} {10273#true} #80#return; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {10273#true} assume !(0 == ~cond); {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {10273#true} ~cond := #in~cond; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L272 TraceCheckUtils]: 6: Hoare triple {10273#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L290 TraceCheckUtils]: 5: Hoare triple {10273#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {10273#true} call #t~ret8 := main(); {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10273#true} {10273#true} #96#return; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {10273#true} assume true; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {10273#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10273#true} is VALID [2022-04-28 06:20:05,112 INFO L272 TraceCheckUtils]: 0: Hoare triple {10273#true} call ULTIMATE.init(); {10273#true} is VALID [2022-04-28 06:20:05,113 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-28 06:20:05,113 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:20:05,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1595199674] [2022-04-28 06:20:05,113 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:20:05,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2061058563] [2022-04-28 06:20:05,113 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2061058563] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:20:05,113 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:20:05,113 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-28 06:20:05,114 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:20:05,114 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [241334664] [2022-04-28 06:20:05,114 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [241334664] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:20:05,114 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:20:05,114 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:20:05,114 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1876264455] [2022-04-28 06:20:05,114 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:20:05,114 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 79 [2022-04-28 06:20:05,115 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:20:05,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:20:07,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 46 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:07,276 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:20:07,276 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:07,276 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:20:07,276 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:20:07,277 INFO L87 Difference]: Start difference. First operand 143 states and 160 transitions. Second operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:20:14,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:14,841 INFO L93 Difference]: Finished difference Result 159 states and 181 transitions. [2022-04-28 06:20:14,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 06:20:14,841 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 79 [2022-04-28 06:20:14,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:20:14,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:20:14,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 06:20:14,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:20:14,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 06:20:14,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-28 06:20:16,934 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:16,936 INFO L225 Difference]: With dead ends: 159 [2022-04-28 06:20:16,936 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 06:20:16,937 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 143 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 5.9s TimeCoverageRelationStatistics Valid=62, Invalid=244, Unknown=0, NotChecked=0, Total=306 [2022-04-28 06:20:16,937 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 17 mSDsluCounter, 159 mSDsCounter, 0 mSdLazyCounter, 239 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 197 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 239 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 5 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 06:20:16,938 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 197 Invalid, 247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 239 Invalid, 0 Unknown, 5 Unchecked, 0.9s Time] [2022-04-28 06:20:16,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 06:20:17,061 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 125. [2022-04-28 06:20:17,062 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:20:17,062 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:20:17,062 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:20:17,063 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:20:17,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:17,066 INFO L93 Difference]: Finished difference Result 129 states and 150 transitions. [2022-04-28 06:20:17,066 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 150 transitions. [2022-04-28 06:20:17,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:17,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:17,067 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 129 states. [2022-04-28 06:20:17,067 INFO L87 Difference]: Start difference. First operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 129 states. [2022-04-28 06:20:17,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:17,070 INFO L93 Difference]: Finished difference Result 129 states and 150 transitions. [2022-04-28 06:20:17,070 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 150 transitions. [2022-04-28 06:20:17,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:17,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:17,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:20:17,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:20:17,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 80 states have (on average 1.1625) internal successors, (93), 84 states have internal predecessors, (93), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:20:17,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 145 transitions. [2022-04-28 06:20:17,074 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 145 transitions. Word has length 79 [2022-04-28 06:20:17,074 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:20:17,074 INFO L495 AbstractCegarLoop]: Abstraction has 125 states and 145 transitions. [2022-04-28 06:20:17,074 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 06:20:17,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 125 states and 145 transitions. [2022-04-28 06:20:19,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 144 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:19,283 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 145 transitions. [2022-04-28 06:20:19,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 06:20:19,284 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:20:19,284 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:20:19,303 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 06:20:19,484 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,SelfDestructingSolverStorable14 [2022-04-28 06:20:19,485 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:20:19,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:20:19,485 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 5 times [2022-04-28 06:20:19,485 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:19,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [526669057] [2022-04-28 06:20:27,852 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:20:27,852 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:20:27,852 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:20:27,852 INFO L85 PathProgramCache]: Analyzing trace with hash 816704307, now seen corresponding path program 6 times [2022-04-28 06:20:27,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:20:27,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [308995374] [2022-04-28 06:20:27,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:20:27,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:20:27,861 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:20:27,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [211443805] [2022-04-28 06:20:27,862 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:20:27,862 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:27,862 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:20:27,872 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 06:20:27,872 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 06:20:27,938 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-28 06:20:27,939 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:20:27,940 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 06:20:27,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:20:27,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:20:28,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {11593#true} call ULTIMATE.init(); {11593#true} is VALID [2022-04-28 06:20:28,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {11593#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {11601#(<= ~counter~0 0)} assume true; {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11601#(<= ~counter~0 0)} {11593#true} #96#return; {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {11601#(<= ~counter~0 0)} call #t~ret8 := main(); {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {11601#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,271 INFO L272 TraceCheckUtils]: 6: Hoare triple {11601#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {11601#(<= ~counter~0 0)} ~cond := #in~cond; {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,271 INFO L290 TraceCheckUtils]: 8: Hoare triple {11601#(<= ~counter~0 0)} assume !(0 == ~cond); {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {11601#(<= ~counter~0 0)} assume true; {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,272 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11601#(<= ~counter~0 0)} {11601#(<= ~counter~0 0)} #80#return; {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,272 INFO L290 TraceCheckUtils]: 11: Hoare triple {11601#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11601#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:28,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {11601#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,273 INFO L290 TraceCheckUtils]: 13: Hoare triple {11635#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,273 INFO L272 TraceCheckUtils]: 14: Hoare triple {11635#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {11635#(<= ~counter~0 1)} ~cond := #in~cond; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,274 INFO L290 TraceCheckUtils]: 16: Hoare triple {11635#(<= ~counter~0 1)} assume !(0 == ~cond); {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,274 INFO L290 TraceCheckUtils]: 17: Hoare triple {11635#(<= ~counter~0 1)} assume true; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,275 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11635#(<= ~counter~0 1)} {11635#(<= ~counter~0 1)} #82#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,275 INFO L272 TraceCheckUtils]: 19: Hoare triple {11635#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {11635#(<= ~counter~0 1)} ~cond := #in~cond; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {11635#(<= ~counter~0 1)} assume !(0 == ~cond); {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {11635#(<= ~counter~0 1)} assume true; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,276 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11635#(<= ~counter~0 1)} {11635#(<= ~counter~0 1)} #84#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,277 INFO L272 TraceCheckUtils]: 24: Hoare triple {11635#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,278 INFO L290 TraceCheckUtils]: 25: Hoare triple {11635#(<= ~counter~0 1)} ~cond := #in~cond; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,278 INFO L290 TraceCheckUtils]: 26: Hoare triple {11635#(<= ~counter~0 1)} assume !(0 == ~cond); {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {11635#(<= ~counter~0 1)} assume true; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,279 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11635#(<= ~counter~0 1)} {11635#(<= ~counter~0 1)} #86#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,279 INFO L290 TraceCheckUtils]: 29: Hoare triple {11635#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,280 INFO L290 TraceCheckUtils]: 30: Hoare triple {11635#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,280 INFO L290 TraceCheckUtils]: 31: Hoare triple {11690#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,281 INFO L272 TraceCheckUtils]: 32: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,281 INFO L290 TraceCheckUtils]: 33: Hoare triple {11690#(<= ~counter~0 2)} ~cond := #in~cond; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,281 INFO L290 TraceCheckUtils]: 34: Hoare triple {11690#(<= ~counter~0 2)} assume !(0 == ~cond); {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,281 INFO L290 TraceCheckUtils]: 35: Hoare triple {11690#(<= ~counter~0 2)} assume true; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,282 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11690#(<= ~counter~0 2)} {11690#(<= ~counter~0 2)} #82#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,282 INFO L272 TraceCheckUtils]: 37: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,282 INFO L290 TraceCheckUtils]: 38: Hoare triple {11690#(<= ~counter~0 2)} ~cond := #in~cond; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,283 INFO L290 TraceCheckUtils]: 39: Hoare triple {11690#(<= ~counter~0 2)} assume !(0 == ~cond); {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,283 INFO L290 TraceCheckUtils]: 40: Hoare triple {11690#(<= ~counter~0 2)} assume true; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,283 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11690#(<= ~counter~0 2)} {11690#(<= ~counter~0 2)} #84#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,284 INFO L272 TraceCheckUtils]: 42: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,284 INFO L290 TraceCheckUtils]: 43: Hoare triple {11690#(<= ~counter~0 2)} ~cond := #in~cond; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,284 INFO L290 TraceCheckUtils]: 44: Hoare triple {11690#(<= ~counter~0 2)} assume !(0 == ~cond); {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,285 INFO L290 TraceCheckUtils]: 45: Hoare triple {11690#(<= ~counter~0 2)} assume true; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,285 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11690#(<= ~counter~0 2)} {11690#(<= ~counter~0 2)} #86#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,285 INFO L290 TraceCheckUtils]: 47: Hoare triple {11690#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,286 INFO L290 TraceCheckUtils]: 48: Hoare triple {11690#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,286 INFO L290 TraceCheckUtils]: 49: Hoare triple {11745#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,286 INFO L272 TraceCheckUtils]: 50: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,287 INFO L290 TraceCheckUtils]: 51: Hoare triple {11745#(<= ~counter~0 3)} ~cond := #in~cond; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,287 INFO L290 TraceCheckUtils]: 52: Hoare triple {11745#(<= ~counter~0 3)} assume !(0 == ~cond); {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,287 INFO L290 TraceCheckUtils]: 53: Hoare triple {11745#(<= ~counter~0 3)} assume true; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,288 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11745#(<= ~counter~0 3)} {11745#(<= ~counter~0 3)} #82#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,288 INFO L272 TraceCheckUtils]: 55: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,288 INFO L290 TraceCheckUtils]: 56: Hoare triple {11745#(<= ~counter~0 3)} ~cond := #in~cond; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,289 INFO L290 TraceCheckUtils]: 57: Hoare triple {11745#(<= ~counter~0 3)} assume !(0 == ~cond); {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,289 INFO L290 TraceCheckUtils]: 58: Hoare triple {11745#(<= ~counter~0 3)} assume true; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,289 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11745#(<= ~counter~0 3)} {11745#(<= ~counter~0 3)} #84#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,290 INFO L272 TraceCheckUtils]: 60: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,290 INFO L290 TraceCheckUtils]: 61: Hoare triple {11745#(<= ~counter~0 3)} ~cond := #in~cond; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,290 INFO L290 TraceCheckUtils]: 62: Hoare triple {11745#(<= ~counter~0 3)} assume !(0 == ~cond); {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,290 INFO L290 TraceCheckUtils]: 63: Hoare triple {11745#(<= ~counter~0 3)} assume true; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,291 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11745#(<= ~counter~0 3)} {11745#(<= ~counter~0 3)} #86#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,291 INFO L290 TraceCheckUtils]: 65: Hoare triple {11745#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,292 INFO L290 TraceCheckUtils]: 66: Hoare triple {11745#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11800#(<= |main_#t~post6| 3)} is VALID [2022-04-28 06:20:28,292 INFO L290 TraceCheckUtils]: 67: Hoare triple {11800#(<= |main_#t~post6| 3)} assume !(#t~post6 < 5);havoc #t~post6; {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L290 TraceCheckUtils]: 68: Hoare triple {11594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L290 TraceCheckUtils]: 69: Hoare triple {11594#false} assume !(#t~post7 < 5);havoc #t~post7; {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L272 TraceCheckUtils]: 70: Hoare triple {11594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L290 TraceCheckUtils]: 71: Hoare triple {11594#false} ~cond := #in~cond; {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L290 TraceCheckUtils]: 72: Hoare triple {11594#false} assume !(0 == ~cond); {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L290 TraceCheckUtils]: 73: Hoare triple {11594#false} assume true; {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11594#false} {11594#false} #92#return; {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L272 TraceCheckUtils]: 75: Hoare triple {11594#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11594#false} is VALID [2022-04-28 06:20:28,292 INFO L290 TraceCheckUtils]: 76: Hoare triple {11594#false} ~cond := #in~cond; {11594#false} is VALID [2022-04-28 06:20:28,293 INFO L290 TraceCheckUtils]: 77: Hoare triple {11594#false} assume 0 == ~cond; {11594#false} is VALID [2022-04-28 06:20:28,293 INFO L290 TraceCheckUtils]: 78: Hoare triple {11594#false} assume !false; {11594#false} is VALID [2022-04-28 06:20:28,293 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 54 proven. 132 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 06:20:28,293 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:20:28,589 INFO L290 TraceCheckUtils]: 78: Hoare triple {11594#false} assume !false; {11594#false} is VALID [2022-04-28 06:20:28,590 INFO L290 TraceCheckUtils]: 77: Hoare triple {11594#false} assume 0 == ~cond; {11594#false} is VALID [2022-04-28 06:20:28,590 INFO L290 TraceCheckUtils]: 76: Hoare triple {11594#false} ~cond := #in~cond; {11594#false} is VALID [2022-04-28 06:20:28,590 INFO L272 TraceCheckUtils]: 75: Hoare triple {11594#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {11594#false} is VALID [2022-04-28 06:20:28,590 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {11593#true} {11594#false} #92#return; {11594#false} is VALID [2022-04-28 06:20:28,590 INFO L290 TraceCheckUtils]: 73: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,590 INFO L290 TraceCheckUtils]: 72: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,590 INFO L290 TraceCheckUtils]: 71: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,590 INFO L272 TraceCheckUtils]: 70: Hoare triple {11594#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,590 INFO L290 TraceCheckUtils]: 69: Hoare triple {11594#false} assume !(#t~post7 < 5);havoc #t~post7; {11594#false} is VALID [2022-04-28 06:20:28,590 INFO L290 TraceCheckUtils]: 68: Hoare triple {11594#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11594#false} is VALID [2022-04-28 06:20:28,590 INFO L290 TraceCheckUtils]: 67: Hoare triple {11870#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {11594#false} is VALID [2022-04-28 06:20:28,591 INFO L290 TraceCheckUtils]: 66: Hoare triple {11874#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11870#(< |main_#t~post6| 5)} is VALID [2022-04-28 06:20:28,591 INFO L290 TraceCheckUtils]: 65: Hoare triple {11874#(< ~counter~0 5)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11874#(< ~counter~0 5)} is VALID [2022-04-28 06:20:28,592 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {11593#true} {11874#(< ~counter~0 5)} #86#return; {11874#(< ~counter~0 5)} is VALID [2022-04-28 06:20:28,592 INFO L290 TraceCheckUtils]: 63: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,592 INFO L290 TraceCheckUtils]: 62: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,592 INFO L290 TraceCheckUtils]: 61: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,592 INFO L272 TraceCheckUtils]: 60: Hoare triple {11874#(< ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,592 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {11593#true} {11874#(< ~counter~0 5)} #84#return; {11874#(< ~counter~0 5)} is VALID [2022-04-28 06:20:28,592 INFO L290 TraceCheckUtils]: 58: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,592 INFO L290 TraceCheckUtils]: 57: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,592 INFO L290 TraceCheckUtils]: 56: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,592 INFO L272 TraceCheckUtils]: 55: Hoare triple {11874#(< ~counter~0 5)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,593 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {11593#true} {11874#(< ~counter~0 5)} #82#return; {11874#(< ~counter~0 5)} is VALID [2022-04-28 06:20:28,593 INFO L290 TraceCheckUtils]: 53: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,593 INFO L290 TraceCheckUtils]: 52: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,593 INFO L290 TraceCheckUtils]: 51: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,593 INFO L272 TraceCheckUtils]: 50: Hoare triple {11874#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,593 INFO L290 TraceCheckUtils]: 49: Hoare triple {11874#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {11874#(< ~counter~0 5)} is VALID [2022-04-28 06:20:28,594 INFO L290 TraceCheckUtils]: 48: Hoare triple {11745#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11874#(< ~counter~0 5)} is VALID [2022-04-28 06:20:28,594 INFO L290 TraceCheckUtils]: 47: Hoare triple {11745#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,595 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {11593#true} {11745#(<= ~counter~0 3)} #86#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,595 INFO L290 TraceCheckUtils]: 45: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,595 INFO L290 TraceCheckUtils]: 44: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,595 INFO L290 TraceCheckUtils]: 43: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,595 INFO L272 TraceCheckUtils]: 42: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,599 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11593#true} {11745#(<= ~counter~0 3)} #84#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,599 INFO L290 TraceCheckUtils]: 40: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,600 INFO L290 TraceCheckUtils]: 39: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,600 INFO L290 TraceCheckUtils]: 38: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,600 INFO L272 TraceCheckUtils]: 37: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,600 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11593#true} {11745#(<= ~counter~0 3)} #82#return; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,600 INFO L290 TraceCheckUtils]: 35: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,600 INFO L290 TraceCheckUtils]: 34: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,600 INFO L290 TraceCheckUtils]: 33: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,601 INFO L272 TraceCheckUtils]: 32: Hoare triple {11745#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,601 INFO L290 TraceCheckUtils]: 31: Hoare triple {11745#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {11690#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11745#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:28,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {11690#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,602 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11593#true} {11690#(<= ~counter~0 2)} #86#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,603 INFO L290 TraceCheckUtils]: 27: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,603 INFO L272 TraceCheckUtils]: 24: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,603 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11593#true} {11690#(<= ~counter~0 2)} #84#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,603 INFO L290 TraceCheckUtils]: 22: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,604 INFO L272 TraceCheckUtils]: 19: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,604 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11593#true} {11690#(<= ~counter~0 2)} #82#return; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,604 INFO L290 TraceCheckUtils]: 16: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,604 INFO L290 TraceCheckUtils]: 15: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,605 INFO L272 TraceCheckUtils]: 14: Hoare triple {11690#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {11690#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,605 INFO L290 TraceCheckUtils]: 12: Hoare triple {11635#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11690#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:28,606 INFO L290 TraceCheckUtils]: 11: Hoare triple {11635#(<= ~counter~0 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,606 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11593#true} {11635#(<= ~counter~0 1)} #80#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {11593#true} assume true; {11593#true} is VALID [2022-04-28 06:20:28,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {11593#true} assume !(0 == ~cond); {11593#true} is VALID [2022-04-28 06:20:28,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {11593#true} ~cond := #in~cond; {11593#true} is VALID [2022-04-28 06:20:28,607 INFO L272 TraceCheckUtils]: 6: Hoare triple {11635#(<= ~counter~0 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11593#true} is VALID [2022-04-28 06:20:28,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {11635#(<= ~counter~0 1)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {11635#(<= ~counter~0 1)} call #t~ret8 := main(); {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11635#(<= ~counter~0 1)} {11593#true} #96#return; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {11635#(<= ~counter~0 1)} assume true; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {11593#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11635#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:28,609 INFO L272 TraceCheckUtils]: 0: Hoare triple {11593#true} call ULTIMATE.init(); {11593#true} is VALID [2022-04-28 06:20:28,609 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 20 proven. 24 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-28 06:20:28,609 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:20:28,609 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [308995374] [2022-04-28 06:20:28,610 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:20:28,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [211443805] [2022-04-28 06:20:28,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [211443805] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:20:28,610 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:20:28,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-28 06:20:28,610 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:20:28,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [526669057] [2022-04-28 06:20:28,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [526669057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:20:28,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:20:28,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 06:20:28,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [969577333] [2022-04-28 06:20:28,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:20:28,612 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-28 06:20:28,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:20:28,612 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:20:28,662 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 06:20:28,662 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 06:20:28,662 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:28,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 06:20:28,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:20:28,663 INFO L87 Difference]: Start difference. First operand 125 states and 145 transitions. Second operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:20:29,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:29,133 INFO L93 Difference]: Finished difference Result 170 states and 207 transitions. [2022-04-28 06:20:29,133 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:20:29,134 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Word has length 79 [2022-04-28 06:20:29,134 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:20:29,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:20:29,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2022-04-28 06:20:29,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:20:29,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 102 transitions. [2022-04-28 06:20:29,137 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 102 transitions. [2022-04-28 06:20:29,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:29,233 INFO L225 Difference]: With dead ends: 170 [2022-04-28 06:20:29,233 INFO L226 Difference]: Without dead ends: 127 [2022-04-28 06:20:29,234 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:20:29,234 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 7 mSDsluCounter, 109 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:20:29,235 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 157 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 06:20:29,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-28 06:20:29,356 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 127. [2022-04-28 06:20:29,356 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:20:29,357 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:20:29,357 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:20:29,357 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:20:29,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:29,360 INFO L93 Difference]: Finished difference Result 127 states and 147 transitions. [2022-04-28 06:20:29,360 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-28 06:20:29,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:29,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:29,361 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-28 06:20:29,361 INFO L87 Difference]: Start difference. First operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) Second operand 127 states. [2022-04-28 06:20:29,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:29,364 INFO L93 Difference]: Finished difference Result 127 states and 147 transitions. [2022-04-28 06:20:29,364 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-28 06:20:29,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:29,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:29,364 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:20:29,364 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:20:29,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 27 states have call successors, (27), 18 states have call predecessors, (27), 17 states have return successors, (25), 22 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:20:29,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 147 transitions. [2022-04-28 06:20:29,368 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 147 transitions. Word has length 79 [2022-04-28 06:20:29,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:20:29,368 INFO L495 AbstractCegarLoop]: Abstraction has 127 states and 147 transitions. [2022-04-28 06:20:29,368 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.857142857142857) internal successors, (34), 6 states have internal predecessors, (34), 6 states have call successors, (14), 6 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 06:20:29,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 147 transitions. [2022-04-28 06:20:31,547 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 146 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:31,548 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 147 transitions. [2022-04-28 06:20:31,548 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 06:20:31,548 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:20:31,548 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:20:31,565 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 06:20:31,755 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,SelfDestructingSolverStorable15 [2022-04-28 06:20:31,755 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:20:31,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:20:31,756 INFO L85 PathProgramCache]: Analyzing trace with hash -1069895175, now seen corresponding path program 3 times [2022-04-28 06:20:31,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:31,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2086941912] [2022-04-28 06:20:37,337 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:20:37,337 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:20:37,337 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:20:37,337 INFO L85 PathProgramCache]: Analyzing trace with hash -1069895175, now seen corresponding path program 4 times [2022-04-28 06:20:37,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:20:37,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [940544061] [2022-04-28 06:20:37,338 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:20:37,338 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:20:37,348 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:20:37,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1139823107] [2022-04-28 06:20:37,348 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:20:37,349 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:37,349 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:20:37,365 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 06:20:37,365 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 06:20:37,412 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:20:37,412 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:20:37,412 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:20:37,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:20:37,432 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:20:37,782 INFO L272 TraceCheckUtils]: 0: Hoare triple {12929#true} call ULTIMATE.init(); {12929#true} is VALID [2022-04-28 06:20:37,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {12929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {12937#(<= ~counter~0 0)} assume true; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,783 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12937#(<= ~counter~0 0)} {12929#true} #96#return; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,783 INFO L272 TraceCheckUtils]: 4: Hoare triple {12937#(<= ~counter~0 0)} call #t~ret8 := main(); {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {12937#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,784 INFO L272 TraceCheckUtils]: 6: Hoare triple {12937#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,784 INFO L290 TraceCheckUtils]: 7: Hoare triple {12937#(<= ~counter~0 0)} ~cond := #in~cond; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,784 INFO L290 TraceCheckUtils]: 8: Hoare triple {12937#(<= ~counter~0 0)} assume !(0 == ~cond); {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {12937#(<= ~counter~0 0)} assume true; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,785 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12937#(<= ~counter~0 0)} {12937#(<= ~counter~0 0)} #80#return; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,785 INFO L290 TraceCheckUtils]: 11: Hoare triple {12937#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:37,786 INFO L290 TraceCheckUtils]: 12: Hoare triple {12937#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,786 INFO L290 TraceCheckUtils]: 13: Hoare triple {12971#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,787 INFO L272 TraceCheckUtils]: 14: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {12971#(<= ~counter~0 1)} ~cond := #in~cond; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,787 INFO L290 TraceCheckUtils]: 16: Hoare triple {12971#(<= ~counter~0 1)} assume !(0 == ~cond); {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,787 INFO L290 TraceCheckUtils]: 17: Hoare triple {12971#(<= ~counter~0 1)} assume true; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,788 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12971#(<= ~counter~0 1)} {12971#(<= ~counter~0 1)} #82#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,788 INFO L272 TraceCheckUtils]: 19: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,788 INFO L290 TraceCheckUtils]: 20: Hoare triple {12971#(<= ~counter~0 1)} ~cond := #in~cond; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,789 INFO L290 TraceCheckUtils]: 21: Hoare triple {12971#(<= ~counter~0 1)} assume !(0 == ~cond); {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,789 INFO L290 TraceCheckUtils]: 22: Hoare triple {12971#(<= ~counter~0 1)} assume true; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,789 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12971#(<= ~counter~0 1)} {12971#(<= ~counter~0 1)} #84#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,790 INFO L272 TraceCheckUtils]: 24: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,790 INFO L290 TraceCheckUtils]: 25: Hoare triple {12971#(<= ~counter~0 1)} ~cond := #in~cond; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,790 INFO L290 TraceCheckUtils]: 26: Hoare triple {12971#(<= ~counter~0 1)} assume !(0 == ~cond); {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {12971#(<= ~counter~0 1)} assume true; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,791 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12971#(<= ~counter~0 1)} {12971#(<= ~counter~0 1)} #86#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,791 INFO L290 TraceCheckUtils]: 29: Hoare triple {12971#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:37,792 INFO L290 TraceCheckUtils]: 30: Hoare triple {12971#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,792 INFO L290 TraceCheckUtils]: 31: Hoare triple {13026#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,792 INFO L272 TraceCheckUtils]: 32: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,793 INFO L290 TraceCheckUtils]: 33: Hoare triple {13026#(<= ~counter~0 2)} ~cond := #in~cond; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,793 INFO L290 TraceCheckUtils]: 34: Hoare triple {13026#(<= ~counter~0 2)} assume !(0 == ~cond); {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {13026#(<= ~counter~0 2)} assume true; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,794 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13026#(<= ~counter~0 2)} {13026#(<= ~counter~0 2)} #82#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,794 INFO L272 TraceCheckUtils]: 37: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,794 INFO L290 TraceCheckUtils]: 38: Hoare triple {13026#(<= ~counter~0 2)} ~cond := #in~cond; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,795 INFO L290 TraceCheckUtils]: 39: Hoare triple {13026#(<= ~counter~0 2)} assume !(0 == ~cond); {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,795 INFO L290 TraceCheckUtils]: 40: Hoare triple {13026#(<= ~counter~0 2)} assume true; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,795 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13026#(<= ~counter~0 2)} {13026#(<= ~counter~0 2)} #84#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,796 INFO L272 TraceCheckUtils]: 42: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,796 INFO L290 TraceCheckUtils]: 43: Hoare triple {13026#(<= ~counter~0 2)} ~cond := #in~cond; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,796 INFO L290 TraceCheckUtils]: 44: Hoare triple {13026#(<= ~counter~0 2)} assume !(0 == ~cond); {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,796 INFO L290 TraceCheckUtils]: 45: Hoare triple {13026#(<= ~counter~0 2)} assume true; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,797 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13026#(<= ~counter~0 2)} {13026#(<= ~counter~0 2)} #86#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,797 INFO L290 TraceCheckUtils]: 47: Hoare triple {13026#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:37,798 INFO L290 TraceCheckUtils]: 48: Hoare triple {13026#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,798 INFO L290 TraceCheckUtils]: 49: Hoare triple {13081#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,798 INFO L272 TraceCheckUtils]: 50: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,799 INFO L290 TraceCheckUtils]: 51: Hoare triple {13081#(<= ~counter~0 3)} ~cond := #in~cond; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,799 INFO L290 TraceCheckUtils]: 52: Hoare triple {13081#(<= ~counter~0 3)} assume !(0 == ~cond); {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,799 INFO L290 TraceCheckUtils]: 53: Hoare triple {13081#(<= ~counter~0 3)} assume true; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,800 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13081#(<= ~counter~0 3)} {13081#(<= ~counter~0 3)} #82#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,800 INFO L272 TraceCheckUtils]: 55: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,801 INFO L290 TraceCheckUtils]: 56: Hoare triple {13081#(<= ~counter~0 3)} ~cond := #in~cond; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,801 INFO L290 TraceCheckUtils]: 57: Hoare triple {13081#(<= ~counter~0 3)} assume !(0 == ~cond); {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,801 INFO L290 TraceCheckUtils]: 58: Hoare triple {13081#(<= ~counter~0 3)} assume true; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,802 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13081#(<= ~counter~0 3)} {13081#(<= ~counter~0 3)} #84#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,802 INFO L272 TraceCheckUtils]: 60: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,803 INFO L290 TraceCheckUtils]: 61: Hoare triple {13081#(<= ~counter~0 3)} ~cond := #in~cond; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,803 INFO L290 TraceCheckUtils]: 62: Hoare triple {13081#(<= ~counter~0 3)} assume !(0 == ~cond); {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,803 INFO L290 TraceCheckUtils]: 63: Hoare triple {13081#(<= ~counter~0 3)} assume true; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,804 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13081#(<= ~counter~0 3)} {13081#(<= ~counter~0 3)} #86#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,804 INFO L290 TraceCheckUtils]: 65: Hoare triple {13081#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:37,804 INFO L290 TraceCheckUtils]: 66: Hoare triple {13081#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,805 INFO L290 TraceCheckUtils]: 67: Hoare triple {13136#(<= ~counter~0 4)} assume !!(#t~post7 < 5);havoc #t~post7; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,805 INFO L272 TraceCheckUtils]: 68: Hoare triple {13136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,806 INFO L290 TraceCheckUtils]: 69: Hoare triple {13136#(<= ~counter~0 4)} ~cond := #in~cond; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,806 INFO L290 TraceCheckUtils]: 70: Hoare triple {13136#(<= ~counter~0 4)} assume !(0 == ~cond); {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,806 INFO L290 TraceCheckUtils]: 71: Hoare triple {13136#(<= ~counter~0 4)} assume true; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,807 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13136#(<= ~counter~0 4)} {13136#(<= ~counter~0 4)} #88#return; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,807 INFO L272 TraceCheckUtils]: 73: Hoare triple {13136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,807 INFO L290 TraceCheckUtils]: 74: Hoare triple {13136#(<= ~counter~0 4)} ~cond := #in~cond; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,808 INFO L290 TraceCheckUtils]: 75: Hoare triple {13136#(<= ~counter~0 4)} assume !(0 == ~cond); {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,808 INFO L290 TraceCheckUtils]: 76: Hoare triple {13136#(<= ~counter~0 4)} assume true; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,808 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13136#(<= ~counter~0 4)} {13136#(<= ~counter~0 4)} #90#return; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,809 INFO L290 TraceCheckUtils]: 78: Hoare triple {13136#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,809 INFO L290 TraceCheckUtils]: 79: Hoare triple {13136#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:37,809 INFO L290 TraceCheckUtils]: 80: Hoare triple {13136#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13179#(<= |main_#t~post7| 4)} is VALID [2022-04-28 06:20:37,809 INFO L290 TraceCheckUtils]: 81: Hoare triple {13179#(<= |main_#t~post7| 4)} assume !(#t~post7 < 5);havoc #t~post7; {12930#false} is VALID [2022-04-28 06:20:37,810 INFO L272 TraceCheckUtils]: 82: Hoare triple {12930#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12930#false} is VALID [2022-04-28 06:20:37,810 INFO L290 TraceCheckUtils]: 83: Hoare triple {12930#false} ~cond := #in~cond; {12930#false} is VALID [2022-04-28 06:20:37,810 INFO L290 TraceCheckUtils]: 84: Hoare triple {12930#false} assume 0 == ~cond; {12930#false} is VALID [2022-04-28 06:20:37,810 INFO L290 TraceCheckUtils]: 85: Hoare triple {12930#false} assume !false; {12930#false} is VALID [2022-04-28 06:20:37,810 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 200 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 06:20:37,810 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:20:38,152 INFO L290 TraceCheckUtils]: 85: Hoare triple {12930#false} assume !false; {12930#false} is VALID [2022-04-28 06:20:38,153 INFO L290 TraceCheckUtils]: 84: Hoare triple {12930#false} assume 0 == ~cond; {12930#false} is VALID [2022-04-28 06:20:38,153 INFO L290 TraceCheckUtils]: 83: Hoare triple {12930#false} ~cond := #in~cond; {12930#false} is VALID [2022-04-28 06:20:38,153 INFO L272 TraceCheckUtils]: 82: Hoare triple {12930#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12930#false} is VALID [2022-04-28 06:20:38,155 INFO L290 TraceCheckUtils]: 81: Hoare triple {13179#(<= |main_#t~post7| 4)} assume !(#t~post7 < 5);havoc #t~post7; {12930#false} is VALID [2022-04-28 06:20:38,155 INFO L290 TraceCheckUtils]: 80: Hoare triple {13136#(<= ~counter~0 4)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13179#(<= |main_#t~post7| 4)} is VALID [2022-04-28 06:20:38,155 INFO L290 TraceCheckUtils]: 79: Hoare triple {13136#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:38,155 INFO L290 TraceCheckUtils]: 78: Hoare triple {13136#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:38,156 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12929#true} {13136#(<= ~counter~0 4)} #90#return; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:38,156 INFO L290 TraceCheckUtils]: 76: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,156 INFO L290 TraceCheckUtils]: 75: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,156 INFO L290 TraceCheckUtils]: 74: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,156 INFO L272 TraceCheckUtils]: 73: Hoare triple {13136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,157 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12929#true} {13136#(<= ~counter~0 4)} #88#return; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:38,157 INFO L290 TraceCheckUtils]: 71: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,157 INFO L290 TraceCheckUtils]: 70: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,157 INFO L290 TraceCheckUtils]: 69: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,157 INFO L272 TraceCheckUtils]: 68: Hoare triple {13136#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,157 INFO L290 TraceCheckUtils]: 67: Hoare triple {13136#(<= ~counter~0 4)} assume !!(#t~post7 < 5);havoc #t~post7; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:38,158 INFO L290 TraceCheckUtils]: 66: Hoare triple {13081#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13136#(<= ~counter~0 4)} is VALID [2022-04-28 06:20:38,158 INFO L290 TraceCheckUtils]: 65: Hoare triple {13081#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:38,158 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {12929#true} {13081#(<= ~counter~0 3)} #86#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:38,158 INFO L290 TraceCheckUtils]: 63: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,158 INFO L290 TraceCheckUtils]: 62: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,159 INFO L290 TraceCheckUtils]: 61: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,159 INFO L272 TraceCheckUtils]: 60: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,159 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12929#true} {13081#(<= ~counter~0 3)} #84#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:38,159 INFO L290 TraceCheckUtils]: 58: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,159 INFO L290 TraceCheckUtils]: 57: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,159 INFO L290 TraceCheckUtils]: 56: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,159 INFO L272 TraceCheckUtils]: 55: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,163 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12929#true} {13081#(<= ~counter~0 3)} #82#return; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:38,163 INFO L290 TraceCheckUtils]: 53: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,163 INFO L290 TraceCheckUtils]: 52: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,163 INFO L290 TraceCheckUtils]: 51: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,163 INFO L272 TraceCheckUtils]: 50: Hoare triple {13081#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,164 INFO L290 TraceCheckUtils]: 49: Hoare triple {13081#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:38,164 INFO L290 TraceCheckUtils]: 48: Hoare triple {13026#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13081#(<= ~counter~0 3)} is VALID [2022-04-28 06:20:38,164 INFO L290 TraceCheckUtils]: 47: Hoare triple {13026#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:38,165 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12929#true} {13026#(<= ~counter~0 2)} #86#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:38,165 INFO L290 TraceCheckUtils]: 45: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,165 INFO L290 TraceCheckUtils]: 44: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,165 INFO L290 TraceCheckUtils]: 43: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,165 INFO L272 TraceCheckUtils]: 42: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,165 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12929#true} {13026#(<= ~counter~0 2)} #84#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:38,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,165 INFO L290 TraceCheckUtils]: 39: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,166 INFO L290 TraceCheckUtils]: 38: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,166 INFO L272 TraceCheckUtils]: 37: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,166 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12929#true} {13026#(<= ~counter~0 2)} #82#return; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:38,166 INFO L290 TraceCheckUtils]: 35: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,166 INFO L290 TraceCheckUtils]: 34: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,166 INFO L290 TraceCheckUtils]: 33: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,166 INFO L272 TraceCheckUtils]: 32: Hoare triple {13026#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,166 INFO L290 TraceCheckUtils]: 31: Hoare triple {13026#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:38,167 INFO L290 TraceCheckUtils]: 30: Hoare triple {12971#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13026#(<= ~counter~0 2)} is VALID [2022-04-28 06:20:38,167 INFO L290 TraceCheckUtils]: 29: Hoare triple {12971#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:38,168 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12929#true} {12971#(<= ~counter~0 1)} #86#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:38,168 INFO L290 TraceCheckUtils]: 27: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,168 INFO L272 TraceCheckUtils]: 24: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,168 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12929#true} {12971#(<= ~counter~0 1)} #84#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:38,168 INFO L290 TraceCheckUtils]: 22: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,168 INFO L290 TraceCheckUtils]: 21: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,168 INFO L272 TraceCheckUtils]: 19: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,169 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12929#true} {12971#(<= ~counter~0 1)} #82#return; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:38,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,169 INFO L272 TraceCheckUtils]: 14: Hoare triple {12971#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {12971#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:38,170 INFO L290 TraceCheckUtils]: 12: Hoare triple {12937#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12971#(<= ~counter~0 1)} is VALID [2022-04-28 06:20:38,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {12937#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:38,170 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12929#true} {12937#(<= ~counter~0 0)} #80#return; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:38,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {12929#true} assume true; {12929#true} is VALID [2022-04-28 06:20:38,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {12929#true} assume !(0 == ~cond); {12929#true} is VALID [2022-04-28 06:20:38,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {12929#true} ~cond := #in~cond; {12929#true} is VALID [2022-04-28 06:20:38,170 INFO L272 TraceCheckUtils]: 6: Hoare triple {12937#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12929#true} is VALID [2022-04-28 06:20:38,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {12937#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:38,171 INFO L272 TraceCheckUtils]: 4: Hoare triple {12937#(<= ~counter~0 0)} call #t~ret8 := main(); {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:38,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12937#(<= ~counter~0 0)} {12929#true} #96#return; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:38,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {12937#(<= ~counter~0 0)} assume true; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:38,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {12929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12937#(<= ~counter~0 0)} is VALID [2022-04-28 06:20:38,172 INFO L272 TraceCheckUtils]: 0: Hoare triple {12929#true} call ULTIMATE.init(); {12929#true} is VALID [2022-04-28 06:20:38,172 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 20 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-28 06:20:38,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:20:38,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [940544061] [2022-04-28 06:20:38,173 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:20:38,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1139823107] [2022-04-28 06:20:38,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1139823107] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:20:38,173 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:20:38,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-28 06:20:38,173 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:20:38,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2086941912] [2022-04-28 06:20:38,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2086941912] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:20:38,173 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:20:38,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:20:38,173 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1077462169] [2022-04-28 06:20:38,173 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:20:38,174 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 86 [2022-04-28 06:20:38,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:20:38,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:20:38,224 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 06:20:38,224 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:20:38,224 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:38,224 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:20:38,224 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-28 06:20:38,224 INFO L87 Difference]: Start difference. First operand 127 states and 147 transitions. Second operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:20:38,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:38,858 INFO L93 Difference]: Finished difference Result 179 states and 206 transitions. [2022-04-28 06:20:38,858 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:20:38,858 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) Word has length 86 [2022-04-28 06:20:38,858 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:20:38,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:20:38,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2022-04-28 06:20:38,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:20:38,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2022-04-28 06:20:38,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 119 transitions. [2022-04-28 06:20:38,960 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:38,964 INFO L225 Difference]: With dead ends: 179 [2022-04-28 06:20:38,964 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 06:20:38,964 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 164 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:20:38,965 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 35 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:20:38,965 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 213 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:20:38,965 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 06:20:39,132 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 161. [2022-04-28 06:20:39,132 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:20:39,133 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:20:39,135 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:20:39,135 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:20:39,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:39,139 INFO L93 Difference]: Finished difference Result 164 states and 188 transitions. [2022-04-28 06:20:39,139 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 188 transitions. [2022-04-28 06:20:39,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:39,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:39,141 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 164 states. [2022-04-28 06:20:39,141 INFO L87 Difference]: Start difference. First operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 164 states. [2022-04-28 06:20:39,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:20:39,144 INFO L93 Difference]: Finished difference Result 164 states and 188 transitions. [2022-04-28 06:20:39,144 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 188 transitions. [2022-04-28 06:20:39,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:20:39,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:20:39,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:20:39,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:20:39,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 105 states have (on average 1.1523809523809523) internal successors, (121), 109 states have internal predecessors, (121), 34 states have call successors, (34), 23 states have call predecessors, (34), 21 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 06:20:39,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 186 transitions. [2022-04-28 06:20:39,154 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 186 transitions. Word has length 86 [2022-04-28 06:20:39,154 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:20:39,154 INFO L495 AbstractCegarLoop]: Abstraction has 161 states and 186 transitions. [2022-04-28 06:20:39,154 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 7 states have internal predecessors, (37), 7 states have call successors, (15), 7 states have call predecessors, (15), 5 states have return successors, (13), 5 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 06:20:39,154 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 186 transitions. [2022-04-28 06:20:41,395 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 185 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:20:41,395 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 186 transitions. [2022-04-28 06:20:41,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 06:20:41,396 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:20:41,396 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:20:41,417 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 06:20:41,617 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:41,618 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:20:41,618 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:20:41,618 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 5 times [2022-04-28 06:20:41,618 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:20:41,618 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [340329427] [2022-04-28 06:20:49,758 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:20:49,758 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:20:49,758 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:20:49,758 INFO L85 PathProgramCache]: Analyzing trace with hash -1068167297, now seen corresponding path program 6 times [2022-04-28 06:20:49,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:20:49,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1401911601] [2022-04-28 06:20:49,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:20:49,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:20:49,769 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:20:49,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1849845897] [2022-04-28 06:20:49,769 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:20:49,769 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:20:49,770 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:20:49,772 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 06:20:49,774 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 06:20:49,818 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 06:20:49,819 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:20:49,819 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 06:20:49,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:20:49,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:22:09,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {14462#true} call ULTIMATE.init(); {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {14462#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14462#true} {14462#true} #96#return; {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {14462#true} call #t~ret8 := main(); {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {14462#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {14462#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L290 TraceCheckUtils]: 8: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L290 TraceCheckUtils]: 9: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14462#true} {14462#true} #80#return; {14462#true} is VALID [2022-04-28 06:22:09,269 INFO L290 TraceCheckUtils]: 11: Hoare triple {14462#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,270 INFO L290 TraceCheckUtils]: 12: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,270 INFO L272 TraceCheckUtils]: 14: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,270 INFO L290 TraceCheckUtils]: 15: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,270 INFO L290 TraceCheckUtils]: 16: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,270 INFO L290 TraceCheckUtils]: 17: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,271 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,271 INFO L272 TraceCheckUtils]: 19: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,271 INFO L290 TraceCheckUtils]: 20: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,271 INFO L290 TraceCheckUtils]: 21: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,271 INFO L290 TraceCheckUtils]: 22: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,271 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,271 INFO L272 TraceCheckUtils]: 24: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,272 INFO L290 TraceCheckUtils]: 25: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,272 INFO L290 TraceCheckUtils]: 26: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,272 INFO L290 TraceCheckUtils]: 27: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,272 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,273 INFO L290 TraceCheckUtils]: 29: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,273 INFO L290 TraceCheckUtils]: 30: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,273 INFO L290 TraceCheckUtils]: 31: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,274 INFO L272 TraceCheckUtils]: 32: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,274 INFO L290 TraceCheckUtils]: 33: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,274 INFO L290 TraceCheckUtils]: 34: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,274 INFO L290 TraceCheckUtils]: 35: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,274 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,274 INFO L272 TraceCheckUtils]: 37: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,274 INFO L290 TraceCheckUtils]: 38: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,274 INFO L290 TraceCheckUtils]: 39: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,274 INFO L290 TraceCheckUtils]: 40: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,275 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,275 INFO L272 TraceCheckUtils]: 42: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,275 INFO L290 TraceCheckUtils]: 43: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,275 INFO L290 TraceCheckUtils]: 44: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,275 INFO L290 TraceCheckUtils]: 45: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,276 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14462#true} {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,276 INFO L290 TraceCheckUtils]: 47: Hoare triple {14500#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,277 INFO L290 TraceCheckUtils]: 48: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,277 INFO L290 TraceCheckUtils]: 49: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 5);havoc #t~post6; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,277 INFO L272 TraceCheckUtils]: 50: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,277 INFO L290 TraceCheckUtils]: 51: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,277 INFO L290 TraceCheckUtils]: 52: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,277 INFO L290 TraceCheckUtils]: 53: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,278 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14462#true} {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,278 INFO L272 TraceCheckUtils]: 55: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,278 INFO L290 TraceCheckUtils]: 56: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,278 INFO L290 TraceCheckUtils]: 57: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,278 INFO L290 TraceCheckUtils]: 58: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,279 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14462#true} {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,279 INFO L272 TraceCheckUtils]: 60: Hoare triple {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,279 INFO L290 TraceCheckUtils]: 61: Hoare triple {14462#true} ~cond := #in~cond; {14652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:22:09,280 INFO L290 TraceCheckUtils]: 62: Hoare triple {14652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:22:09,280 INFO L290 TraceCheckUtils]: 63: Hoare triple {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:22:09,281 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} {14609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #86#return; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,281 INFO L290 TraceCheckUtils]: 65: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,282 INFO L290 TraceCheckUtils]: 66: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,282 INFO L290 TraceCheckUtils]: 67: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post7 < 5);havoc #t~post7; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,282 INFO L272 TraceCheckUtils]: 68: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,282 INFO L290 TraceCheckUtils]: 69: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,282 INFO L290 TraceCheckUtils]: 70: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,283 INFO L290 TraceCheckUtils]: 71: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,283 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14462#true} {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #88#return; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,283 INFO L272 TraceCheckUtils]: 73: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:22:09,283 INFO L290 TraceCheckUtils]: 74: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:22:09,283 INFO L290 TraceCheckUtils]: 75: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:22:09,283 INFO L290 TraceCheckUtils]: 76: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:22:09,284 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14462#true} {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #90#return; {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 06:22:09,288 INFO L290 TraceCheckUtils]: 78: Hoare triple {14663#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14706#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-28 06:22:09,290 INFO L290 TraceCheckUtils]: 79: Hoare triple {14706#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:22:09,290 INFO L290 TraceCheckUtils]: 80: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:22:09,290 INFO L290 TraceCheckUtils]: 81: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:22:09,291 INFO L272 TraceCheckUtils]: 82: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14720#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:22:09,291 INFO L290 TraceCheckUtils]: 83: Hoare triple {14720#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14724#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:22:09,291 INFO L290 TraceCheckUtils]: 84: Hoare triple {14724#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14463#false} is VALID [2022-04-28 06:22:09,291 INFO L290 TraceCheckUtils]: 85: Hoare triple {14463#false} assume !false; {14463#false} is VALID [2022-04-28 06:22:09,292 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 57 proven. 10 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-28 06:22:09,292 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:22:33,933 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse13 (mod c_main_~B~0 4294967296))) (or (let ((.cse2 (= (mod c_main_~p~0 2) 0)) (.cse12 (div c_main_~p~0 2))) (let ((.cse1 (* (+ c_main_~q~0 .cse12 1) .cse13)) (.cse3 (* (+ c_main_~q~0 .cse12) .cse13)) (.cse4 (not .cse2)) (.cse5 (mod c_main_~A~0 4294967296)) (.cse6 (div c_main_~d~0 2)) (.cse7 (* (- 1) c_main_~r~0)) (.cse9 (< c_main_~d~0 0)) (.cse8 (= (mod c_main_~d~0 2) 0))) (and (or (let ((.cse0 (+ .cse5 .cse6 .cse7 1))) (and (or (= .cse0 .cse1) .cse2) (or (= .cse0 .cse3) .cse4))) .cse8 (not .cse9)) (or (let ((.cse10 (+ .cse5 .cse6 .cse7)) (.cse11 (< c_main_~p~0 0))) (and (or (= .cse10 .cse1) .cse2 (not .cse11)) (or (= .cse10 .cse3) (and .cse4 .cse11)))) (and .cse9 (not .cse8)))))) (not (= c_main_~d~0 (* c_main_~p~0 .cse13))))) is different from true [2022-04-28 06:23:56,269 INFO L290 TraceCheckUtils]: 85: Hoare triple {14463#false} assume !false; {14463#false} is VALID [2022-04-28 06:23:56,269 INFO L290 TraceCheckUtils]: 84: Hoare triple {14724#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14463#false} is VALID [2022-04-28 06:23:56,270 INFO L290 TraceCheckUtils]: 83: Hoare triple {14720#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14724#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:23:56,270 INFO L272 TraceCheckUtils]: 82: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14720#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:23:56,271 INFO L290 TraceCheckUtils]: 81: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,271 INFO L290 TraceCheckUtils]: 80: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,273 INFO L290 TraceCheckUtils]: 79: Hoare triple {14749#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,283 INFO L290 TraceCheckUtils]: 78: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {14749#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-28 06:23:56,284 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {14462#true} {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #90#return; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:23:56,284 INFO L290 TraceCheckUtils]: 76: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,284 INFO L290 TraceCheckUtils]: 75: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,284 INFO L290 TraceCheckUtils]: 74: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,284 INFO L272 TraceCheckUtils]: 73: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,285 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14462#true} {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:23:56,285 INFO L290 TraceCheckUtils]: 71: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,285 INFO L290 TraceCheckUtils]: 70: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,285 INFO L290 TraceCheckUtils]: 69: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,285 INFO L272 TraceCheckUtils]: 68: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,286 INFO L290 TraceCheckUtils]: 67: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:23:56,287 INFO L290 TraceCheckUtils]: 66: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:23:56,288 INFO L290 TraceCheckUtils]: 65: Hoare triple {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !(~r~0 >= ~d~0); {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:23:56,290 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #86#return; {14753#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:23:56,290 INFO L290 TraceCheckUtils]: 63: Hoare triple {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:23:56,290 INFO L290 TraceCheckUtils]: 62: Hoare triple {14806#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:23:56,291 INFO L290 TraceCheckUtils]: 61: Hoare triple {14462#true} ~cond := #in~cond; {14806#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:23:56,291 INFO L272 TraceCheckUtils]: 60: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,291 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {14462#true} {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #84#return; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 06:23:56,291 INFO L290 TraceCheckUtils]: 58: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,291 INFO L290 TraceCheckUtils]: 57: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,291 INFO L290 TraceCheckUtils]: 56: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,292 INFO L272 TraceCheckUtils]: 55: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,292 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {14462#true} {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #82#return; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 06:23:56,292 INFO L290 TraceCheckUtils]: 53: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,292 INFO L290 TraceCheckUtils]: 52: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,292 INFO L290 TraceCheckUtils]: 51: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,292 INFO L272 TraceCheckUtils]: 50: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,293 INFO L290 TraceCheckUtils]: 49: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} assume !!(#t~post6 < 5);havoc #t~post6; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 06:23:56,295 INFO L290 TraceCheckUtils]: 48: Hoare triple {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 06:23:56,299 INFO L290 TraceCheckUtils]: 47: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14796#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-28 06:23:56,299 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #86#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,299 INFO L290 TraceCheckUtils]: 45: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,299 INFO L290 TraceCheckUtils]: 44: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,299 INFO L290 TraceCheckUtils]: 43: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,299 INFO L272 TraceCheckUtils]: 42: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,300 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,300 INFO L290 TraceCheckUtils]: 40: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,300 INFO L290 TraceCheckUtils]: 39: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,300 INFO L290 TraceCheckUtils]: 38: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,300 INFO L272 TraceCheckUtils]: 37: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,300 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,301 INFO L290 TraceCheckUtils]: 35: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,301 INFO L290 TraceCheckUtils]: 34: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,301 INFO L290 TraceCheckUtils]: 33: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,301 INFO L272 TraceCheckUtils]: 32: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,301 INFO L290 TraceCheckUtils]: 31: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,301 INFO L290 TraceCheckUtils]: 30: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,302 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #86#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,302 INFO L290 TraceCheckUtils]: 27: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,302 INFO L290 TraceCheckUtils]: 26: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,302 INFO L290 TraceCheckUtils]: 25: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,302 INFO L272 TraceCheckUtils]: 24: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,303 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,303 INFO L290 TraceCheckUtils]: 22: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,303 INFO L290 TraceCheckUtils]: 21: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,303 INFO L290 TraceCheckUtils]: 20: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,303 INFO L272 TraceCheckUtils]: 19: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,303 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {14462#true} {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,303 INFO L290 TraceCheckUtils]: 17: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,303 INFO L290 TraceCheckUtils]: 15: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,304 INFO L272 TraceCheckUtils]: 14: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,304 INFO L290 TraceCheckUtils]: 12: Hoare triple {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,304 INFO L290 TraceCheckUtils]: 11: Hoare triple {14462#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14710#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:23:56,304 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14462#true} {14462#true} #80#return; {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L290 TraceCheckUtils]: 9: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L290 TraceCheckUtils]: 8: Hoare triple {14462#true} assume !(0 == ~cond); {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L290 TraceCheckUtils]: 7: Hoare triple {14462#true} ~cond := #in~cond; {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L272 TraceCheckUtils]: 6: Hoare triple {14462#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L290 TraceCheckUtils]: 5: Hoare triple {14462#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L272 TraceCheckUtils]: 4: Hoare triple {14462#true} call #t~ret8 := main(); {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14462#true} {14462#true} #96#return; {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {14462#true} assume true; {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {14462#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L272 TraceCheckUtils]: 0: Hoare triple {14462#true} call ULTIMATE.init(); {14462#true} is VALID [2022-04-28 06:23:56,305 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 45 proven. 12 refuted. 0 times theorem prover too weak. 196 trivial. 10 not checked. [2022-04-28 06:23:56,306 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:23:56,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1401911601] [2022-04-28 06:23:56,306 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:23:56,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1849845897] [2022-04-28 06:23:56,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1849845897] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:23:56,306 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:23:56,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-28 06:23:56,306 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:23:56,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [340329427] [2022-04-28 06:23:56,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [340329427] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:23:56,306 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:23:56,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:23:56,306 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [930972166] [2022-04-28 06:23:56,306 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:23:56,307 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 86 [2022-04-28 06:23:56,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:23:56,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:23:56,357 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 06:23:56,357 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:23:56,357 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:23:56,358 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:23:56,358 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=141, Unknown=2, NotChecked=24, Total=210 [2022-04-28 06:23:56,358 INFO L87 Difference]: Start difference. First operand 161 states and 186 transitions. Second operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:24:00,498 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:04,815 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:06,823 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:08,360 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:10,467 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:24:11,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:11,111 INFO L93 Difference]: Finished difference Result 200 states and 235 transitions. [2022-04-28 06:24:11,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:24:11,111 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 86 [2022-04-28 06:24:11,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:24:11,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:24:11,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 109 transitions. [2022-04-28 06:24:11,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:24:11,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 109 transitions. [2022-04-28 06:24:11,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 109 transitions. [2022-04-28 06:24:11,268 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 06:24:11,271 INFO L225 Difference]: With dead ends: 200 [2022-04-28 06:24:11,271 INFO L226 Difference]: Without dead ends: 180 [2022-04-28 06:24:11,271 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 155 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 67 ImplicationChecksByTransitivity, 7.0s TimeCoverageRelationStatistics Valid=56, Invalid=186, Unknown=2, NotChecked=28, Total=272 [2022-04-28 06:24:11,272 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 40 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 37 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 323 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.6s IncrementalHoareTripleChecker+Time [2022-04-28 06:24:11,272 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 186 Invalid, 323 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 283 Invalid, 3 Unknown, 0 Unchecked, 9.6s Time] [2022-04-28 06:24:11,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2022-04-28 06:24:11,452 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 173. [2022-04-28 06:24:11,452 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:24:11,452 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:24:11,452 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:24:11,453 INFO L87 Difference]: Start difference. First operand 180 states. Second operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:24:11,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:11,456 INFO L93 Difference]: Finished difference Result 180 states and 213 transitions. [2022-04-28 06:24:11,456 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 213 transitions. [2022-04-28 06:24:11,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:11,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:11,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 180 states. [2022-04-28 06:24:11,462 INFO L87 Difference]: Start difference. First operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 180 states. [2022-04-28 06:24:11,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:11,466 INFO L93 Difference]: Finished difference Result 180 states and 213 transitions. [2022-04-28 06:24:11,466 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 213 transitions. [2022-04-28 06:24:11,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:11,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:11,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:24:11,467 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:24:11,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 114 states have (on average 1.1666666666666667) internal successors, (133), 120 states have internal predecessors, (133), 36 states have call successors, (36), 23 states have call predecessors, (36), 22 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 06:24:11,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 203 transitions. [2022-04-28 06:24:11,471 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 203 transitions. Word has length 86 [2022-04-28 06:24:11,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:24:11,472 INFO L495 AbstractCegarLoop]: Abstraction has 173 states and 203 transitions. [2022-04-28 06:24:11,472 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 10 states have internal predecessors, (29), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 06:24:11,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 203 transitions. [2022-04-28 06:24:13,753 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 203 edges. 202 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:13,754 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 203 transitions. [2022-04-28 06:24:13,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 06:24:13,755 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:24:13,755 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:24:13,775 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 06:24:13,959 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 06:24:13,959 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:24:13,960 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:24:13,960 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 7 times [2022-04-28 06:24:13,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:13,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1847347520] [2022-04-28 06:24:23,012 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:24:23,012 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:24:23,012 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:24:23,013 INFO L85 PathProgramCache]: Analyzing trace with hash -1271087930, now seen corresponding path program 8 times [2022-04-28 06:24:23,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:24:23,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [305171462] [2022-04-28 06:24:23,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:24:23,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:24:23,032 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:24:23,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [872918354] [2022-04-28 06:24:23,033 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:24:23,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:23,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:24:23,036 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 06:24:23,045 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 06:24:23,104 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:24:23,104 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:24:23,105 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 06:24:23,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:24:23,126 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:24:24,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {16102#true} call ULTIMATE.init(); {16102#true} is VALID [2022-04-28 06:24:24,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {16102#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16102#true} is VALID [2022-04-28 06:24:24,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16102#true} {16102#true} #96#return; {16102#true} is VALID [2022-04-28 06:24:24,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {16102#true} call #t~ret8 := main(); {16102#true} is VALID [2022-04-28 06:24:24,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {16102#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16102#true} is VALID [2022-04-28 06:24:24,863 INFO L272 TraceCheckUtils]: 6: Hoare triple {16102#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {16102#true} ~cond := #in~cond; {16128#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:24:24,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {16128#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {16132#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:24:24,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {16132#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16132#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:24:24,864 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16132#(not (= |assume_abort_if_not_#in~cond| 0))} {16102#true} #80#return; {16139#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:24:24,865 INFO L290 TraceCheckUtils]: 11: Hoare triple {16139#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:24,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:24,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:24,866 INFO L272 TraceCheckUtils]: 14: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,866 INFO L290 TraceCheckUtils]: 15: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,866 INFO L290 TraceCheckUtils]: 17: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,867 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16102#true} {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:24,867 INFO L272 TraceCheckUtils]: 19: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,867 INFO L290 TraceCheckUtils]: 21: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,867 INFO L290 TraceCheckUtils]: 22: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,867 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16102#true} {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:24,867 INFO L272 TraceCheckUtils]: 24: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,867 INFO L290 TraceCheckUtils]: 25: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,868 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16102#true} {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:24:24,869 INFO L290 TraceCheckUtils]: 29: Hoare triple {16143#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,869 INFO L290 TraceCheckUtils]: 30: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,870 INFO L290 TraceCheckUtils]: 31: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 5);havoc #t~post6; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,870 INFO L272 TraceCheckUtils]: 32: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,870 INFO L290 TraceCheckUtils]: 33: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,870 INFO L290 TraceCheckUtils]: 34: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,870 INFO L290 TraceCheckUtils]: 35: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,870 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16102#true} {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,871 INFO L272 TraceCheckUtils]: 37: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,871 INFO L290 TraceCheckUtils]: 38: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,871 INFO L290 TraceCheckUtils]: 39: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,871 INFO L290 TraceCheckUtils]: 40: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,871 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16102#true} {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,871 INFO L272 TraceCheckUtils]: 42: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,871 INFO L290 TraceCheckUtils]: 43: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,871 INFO L290 TraceCheckUtils]: 44: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,871 INFO L290 TraceCheckUtils]: 45: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,872 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16102#true} {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #86#return; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,873 INFO L290 TraceCheckUtils]: 47: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,875 INFO L290 TraceCheckUtils]: 48: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,876 INFO L290 TraceCheckUtils]: 49: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post6 < 5);havoc #t~post6; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,876 INFO L272 TraceCheckUtils]: 50: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,876 INFO L290 TraceCheckUtils]: 51: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,876 INFO L290 TraceCheckUtils]: 52: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,876 INFO L290 TraceCheckUtils]: 53: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,877 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16102#true} {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #82#return; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,877 INFO L272 TraceCheckUtils]: 55: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,877 INFO L290 TraceCheckUtils]: 56: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,877 INFO L290 TraceCheckUtils]: 57: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,877 INFO L290 TraceCheckUtils]: 58: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,878 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16102#true} {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #84#return; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,878 INFO L272 TraceCheckUtils]: 60: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,878 INFO L290 TraceCheckUtils]: 61: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,878 INFO L290 TraceCheckUtils]: 62: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,878 INFO L290 TraceCheckUtils]: 63: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,879 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16102#true} {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #86#return; {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,880 INFO L290 TraceCheckUtils]: 65: Hoare triple {16253#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,880 INFO L290 TraceCheckUtils]: 66: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,881 INFO L290 TraceCheckUtils]: 67: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(#t~post7 < 5);havoc #t~post7; {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,881 INFO L272 TraceCheckUtils]: 68: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,881 INFO L290 TraceCheckUtils]: 69: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,881 INFO L290 TraceCheckUtils]: 70: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,881 INFO L290 TraceCheckUtils]: 71: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,882 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16102#true} {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #88#return; {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,882 INFO L272 TraceCheckUtils]: 73: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,882 INFO L290 TraceCheckUtils]: 74: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,882 INFO L290 TraceCheckUtils]: 75: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,882 INFO L290 TraceCheckUtils]: 76: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,882 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16102#true} {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #90#return; {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 06:24:24,884 INFO L290 TraceCheckUtils]: 78: Hoare triple {16308#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,884 INFO L290 TraceCheckUtils]: 79: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,885 INFO L290 TraceCheckUtils]: 80: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,885 INFO L290 TraceCheckUtils]: 81: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,885 INFO L272 TraceCheckUtils]: 82: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:24,885 INFO L290 TraceCheckUtils]: 83: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:24,885 INFO L290 TraceCheckUtils]: 84: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:24,885 INFO L290 TraceCheckUtils]: 85: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:24,886 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16102#true} {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:24,886 INFO L272 TraceCheckUtils]: 87: Hoare triple {16198#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16375#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:24:24,887 INFO L290 TraceCheckUtils]: 88: Hoare triple {16375#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16379#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:24:24,887 INFO L290 TraceCheckUtils]: 89: Hoare triple {16379#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16103#false} is VALID [2022-04-28 06:24:24,887 INFO L290 TraceCheckUtils]: 90: Hoare triple {16103#false} assume !false; {16103#false} is VALID [2022-04-28 06:24:24,887 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 22 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-28 06:24:24,887 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:24:28,893 INFO L290 TraceCheckUtils]: 90: Hoare triple {16103#false} assume !false; {16103#false} is VALID [2022-04-28 06:24:28,893 INFO L290 TraceCheckUtils]: 89: Hoare triple {16379#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16103#false} is VALID [2022-04-28 06:24:28,893 INFO L290 TraceCheckUtils]: 88: Hoare triple {16375#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16379#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:24:28,894 INFO L272 TraceCheckUtils]: 87: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16375#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:24:28,895 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16102#true} {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #88#return; {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:28,895 INFO L290 TraceCheckUtils]: 85: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,895 INFO L290 TraceCheckUtils]: 84: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,895 INFO L290 TraceCheckUtils]: 83: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,895 INFO L272 TraceCheckUtils]: 82: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,895 INFO L290 TraceCheckUtils]: 81: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 5);havoc #t~post7; {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:28,895 INFO L290 TraceCheckUtils]: 80: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:28,896 INFO L290 TraceCheckUtils]: 79: Hoare triple {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:28,910 INFO L290 TraceCheckUtils]: 78: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {16395#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 06:24:28,911 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {16102#true} {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #90#return; {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:28,911 INFO L290 TraceCheckUtils]: 76: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,911 INFO L290 TraceCheckUtils]: 75: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,911 INFO L290 TraceCheckUtils]: 74: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,911 INFO L272 TraceCheckUtils]: 73: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,912 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {16102#true} {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:28,912 INFO L290 TraceCheckUtils]: 71: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,912 INFO L290 TraceCheckUtils]: 70: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,912 INFO L290 TraceCheckUtils]: 69: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,912 INFO L272 TraceCheckUtils]: 68: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,913 INFO L290 TraceCheckUtils]: 67: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post7 < 5);havoc #t~post7; {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:28,914 INFO L290 TraceCheckUtils]: 66: Hoare triple {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:28,915 INFO L290 TraceCheckUtils]: 65: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {16423#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 06:24:28,915 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {16102#true} {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #86#return; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:28,915 INFO L290 TraceCheckUtils]: 63: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,915 INFO L290 TraceCheckUtils]: 62: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,915 INFO L290 TraceCheckUtils]: 61: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,915 INFO L272 TraceCheckUtils]: 60: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,916 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {16102#true} {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:28,916 INFO L290 TraceCheckUtils]: 58: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,916 INFO L290 TraceCheckUtils]: 57: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,916 INFO L290 TraceCheckUtils]: 56: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,916 INFO L272 TraceCheckUtils]: 55: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,916 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {16102#true} {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:28,917 INFO L290 TraceCheckUtils]: 53: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,917 INFO L290 TraceCheckUtils]: 52: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,917 INFO L290 TraceCheckUtils]: 51: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,917 INFO L272 TraceCheckUtils]: 50: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,918 INFO L290 TraceCheckUtils]: 49: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !!(#t~post6 < 5);havoc #t~post6; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:28,918 INFO L290 TraceCheckUtils]: 48: Hoare triple {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:28,921 INFO L290 TraceCheckUtils]: 47: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16463#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-28 06:24:28,922 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,922 INFO L290 TraceCheckUtils]: 45: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,922 INFO L290 TraceCheckUtils]: 44: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,922 INFO L290 TraceCheckUtils]: 43: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,922 INFO L272 TraceCheckUtils]: 42: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,922 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,923 INFO L290 TraceCheckUtils]: 40: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,923 INFO L290 TraceCheckUtils]: 39: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,923 INFO L290 TraceCheckUtils]: 38: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,923 INFO L272 TraceCheckUtils]: 37: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,923 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,923 INFO L290 TraceCheckUtils]: 35: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,923 INFO L290 TraceCheckUtils]: 34: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,923 INFO L290 TraceCheckUtils]: 33: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,923 INFO L272 TraceCheckUtils]: 32: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,925 INFO L290 TraceCheckUtils]: 31: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 5);havoc #t~post6; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,925 INFO L290 TraceCheckUtils]: 30: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,926 INFO L290 TraceCheckUtils]: 29: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,927 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #86#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,927 INFO L290 TraceCheckUtils]: 27: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,927 INFO L290 TraceCheckUtils]: 25: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,927 INFO L272 TraceCheckUtils]: 24: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,928 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,928 INFO L290 TraceCheckUtils]: 22: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,928 INFO L290 TraceCheckUtils]: 21: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,928 INFO L290 TraceCheckUtils]: 20: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,928 INFO L272 TraceCheckUtils]: 19: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,928 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {16102#true} {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,928 INFO L290 TraceCheckUtils]: 17: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,928 INFO L290 TraceCheckUtils]: 16: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,928 INFO L272 TraceCheckUtils]: 14: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(#t~post6 < 5);havoc #t~post6; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,929 INFO L290 TraceCheckUtils]: 12: Hoare triple {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {16102#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16518#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 06:24:28,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16102#true} {16102#true} #80#return; {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {16102#true} assume !(0 == ~cond); {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {16102#true} ~cond := #in~cond; {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {16102#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {16102#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {16102#true} call #t~ret8 := main(); {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16102#true} {16102#true} #96#return; {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {16102#true} assume true; {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {16102#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16102#true} is VALID [2022-04-28 06:24:28,930 INFO L272 TraceCheckUtils]: 0: Hoare triple {16102#true} call ULTIMATE.init(); {16102#true} is VALID [2022-04-28 06:24:28,931 INFO L134 CoverageAnalysis]: Checked inductivity of 310 backedges. 24 proven. 16 refuted. 0 times theorem prover too weak. 270 trivial. 0 not checked. [2022-04-28 06:24:28,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:24:28,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [305171462] [2022-04-28 06:24:28,931 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:24:28,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [872918354] [2022-04-28 06:24:28,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [872918354] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:24:28,931 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:24:28,931 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 06:24:28,931 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:24:28,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1847347520] [2022-04-28 06:24:28,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1847347520] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:24:28,931 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:24:28,931 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 06:24:28,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1059616102] [2022-04-28 06:24:28,932 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:24:28,932 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 91 [2022-04-28 06:24:28,932 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:24:28,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:24:28,990 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 06:24:28,990 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 06:24:28,990 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:28,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 06:24:28,990 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-28 06:24:28,991 INFO L87 Difference]: Start difference. First operand 173 states and 203 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:24:30,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:30,895 INFO L93 Difference]: Finished difference Result 257 states and 325 transitions. [2022-04-28 06:24:30,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 06:24:30,896 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 91 [2022-04-28 06:24:30,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:24:30,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:24:30,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-28 06:24:30,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:24:30,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-28 06:24:30,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 124 transitions. [2022-04-28 06:24:31,055 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 06:24:31,060 INFO L225 Difference]: With dead ends: 257 [2022-04-28 06:24:31,060 INFO L226 Difference]: Without dead ends: 205 [2022-04-28 06:24:31,060 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 183 GetRequests, 165 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-28 06:24:31,061 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 42 mSDsluCounter, 295 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 359 SdHoareTripleChecker+Invalid, 337 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 06:24:31,061 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 359 Invalid, 337 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 06:24:31,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 205 states. [2022-04-28 06:24:31,287 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 205 to 205. [2022-04-28 06:24:31,287 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:24:31,287 INFO L82 GeneralOperation]: Start isEquivalent. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:24:31,288 INFO L74 IsIncluded]: Start isIncluded. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:24:31,288 INFO L87 Difference]: Start difference. First operand 205 states. Second operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:24:31,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:31,292 INFO L93 Difference]: Finished difference Result 205 states and 243 transitions. [2022-04-28 06:24:31,292 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-28 06:24:31,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:31,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:31,293 INFO L74 IsIncluded]: Start isIncluded. First operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 205 states. [2022-04-28 06:24:31,294 INFO L87 Difference]: Start difference. First operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 205 states. [2022-04-28 06:24:31,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:31,298 INFO L93 Difference]: Finished difference Result 205 states and 243 transitions. [2022-04-28 06:24:31,298 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-28 06:24:31,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:31,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:31,299 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:24:31,299 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:24:31,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 134 states have (on average 1.171641791044776) internal successors, (157), 143 states have internal predecessors, (157), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:24:31,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 243 transitions. [2022-04-28 06:24:31,304 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 243 transitions. Word has length 91 [2022-04-28 06:24:31,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:24:31,304 INFO L495 AbstractCegarLoop]: Abstraction has 205 states and 243 transitions. [2022-04-28 06:24:31,304 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-28 06:24:31,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 205 states and 243 transitions. [2022-04-28 06:24:33,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 243 edges. 242 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:33,684 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 243 transitions. [2022-04-28 06:24:33,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 06:24:33,685 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:24:33,685 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:24:33,711 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 06:24:33,886 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:33,886 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:24:33,886 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:24:33,886 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 7 times [2022-04-28 06:24:33,887 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:33,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1199680196] [2022-04-28 06:24:40,665 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:24:40,665 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:24:40,665 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:24:40,665 INFO L85 PathProgramCache]: Analyzing trace with hash 114996177, now seen corresponding path program 8 times [2022-04-28 06:24:40,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:24:40,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2114035610] [2022-04-28 06:24:40,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:24:40,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:24:40,674 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:24:40,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1744433439] [2022-04-28 06:24:40,674 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:24:40,675 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:40,675 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:24:40,680 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 06:24:40,682 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 06:24:40,729 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:24:40,729 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:24:40,730 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 06:24:40,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:24:40,755 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:24:41,112 INFO L272 TraceCheckUtils]: 0: Hoare triple {18000#true} call ULTIMATE.init(); {18000#true} is VALID [2022-04-28 06:24:41,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {18000#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {18008#(<= ~counter~0 0)} assume true; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18008#(<= ~counter~0 0)} {18000#true} #96#return; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,113 INFO L272 TraceCheckUtils]: 4: Hoare triple {18008#(<= ~counter~0 0)} call #t~ret8 := main(); {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {18008#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,114 INFO L272 TraceCheckUtils]: 6: Hoare triple {18008#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {18008#(<= ~counter~0 0)} ~cond := #in~cond; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {18008#(<= ~counter~0 0)} assume !(0 == ~cond); {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {18008#(<= ~counter~0 0)} assume true; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,115 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18008#(<= ~counter~0 0)} {18008#(<= ~counter~0 0)} #80#return; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {18008#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {18008#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {18042#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,117 INFO L272 TraceCheckUtils]: 14: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,117 INFO L290 TraceCheckUtils]: 15: Hoare triple {18042#(<= ~counter~0 1)} ~cond := #in~cond; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,117 INFO L290 TraceCheckUtils]: 16: Hoare triple {18042#(<= ~counter~0 1)} assume !(0 == ~cond); {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,117 INFO L290 TraceCheckUtils]: 17: Hoare triple {18042#(<= ~counter~0 1)} assume true; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,118 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18042#(<= ~counter~0 1)} {18042#(<= ~counter~0 1)} #82#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,118 INFO L272 TraceCheckUtils]: 19: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,118 INFO L290 TraceCheckUtils]: 20: Hoare triple {18042#(<= ~counter~0 1)} ~cond := #in~cond; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,119 INFO L290 TraceCheckUtils]: 21: Hoare triple {18042#(<= ~counter~0 1)} assume !(0 == ~cond); {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,119 INFO L290 TraceCheckUtils]: 22: Hoare triple {18042#(<= ~counter~0 1)} assume true; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,119 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18042#(<= ~counter~0 1)} {18042#(<= ~counter~0 1)} #84#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,120 INFO L272 TraceCheckUtils]: 24: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,120 INFO L290 TraceCheckUtils]: 25: Hoare triple {18042#(<= ~counter~0 1)} ~cond := #in~cond; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,120 INFO L290 TraceCheckUtils]: 26: Hoare triple {18042#(<= ~counter~0 1)} assume !(0 == ~cond); {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,120 INFO L290 TraceCheckUtils]: 27: Hoare triple {18042#(<= ~counter~0 1)} assume true; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,121 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18042#(<= ~counter~0 1)} {18042#(<= ~counter~0 1)} #86#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,121 INFO L290 TraceCheckUtils]: 29: Hoare triple {18042#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,122 INFO L290 TraceCheckUtils]: 30: Hoare triple {18042#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {18097#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,122 INFO L272 TraceCheckUtils]: 32: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,122 INFO L290 TraceCheckUtils]: 33: Hoare triple {18097#(<= ~counter~0 2)} ~cond := #in~cond; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,123 INFO L290 TraceCheckUtils]: 34: Hoare triple {18097#(<= ~counter~0 2)} assume !(0 == ~cond); {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,123 INFO L290 TraceCheckUtils]: 35: Hoare triple {18097#(<= ~counter~0 2)} assume true; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,123 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18097#(<= ~counter~0 2)} {18097#(<= ~counter~0 2)} #82#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,124 INFO L272 TraceCheckUtils]: 37: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,124 INFO L290 TraceCheckUtils]: 38: Hoare triple {18097#(<= ~counter~0 2)} ~cond := #in~cond; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,124 INFO L290 TraceCheckUtils]: 39: Hoare triple {18097#(<= ~counter~0 2)} assume !(0 == ~cond); {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,125 INFO L290 TraceCheckUtils]: 40: Hoare triple {18097#(<= ~counter~0 2)} assume true; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,125 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18097#(<= ~counter~0 2)} {18097#(<= ~counter~0 2)} #84#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,125 INFO L272 TraceCheckUtils]: 42: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,126 INFO L290 TraceCheckUtils]: 43: Hoare triple {18097#(<= ~counter~0 2)} ~cond := #in~cond; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,126 INFO L290 TraceCheckUtils]: 44: Hoare triple {18097#(<= ~counter~0 2)} assume !(0 == ~cond); {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,126 INFO L290 TraceCheckUtils]: 45: Hoare triple {18097#(<= ~counter~0 2)} assume true; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,127 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18097#(<= ~counter~0 2)} {18097#(<= ~counter~0 2)} #86#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,127 INFO L290 TraceCheckUtils]: 47: Hoare triple {18097#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,127 INFO L290 TraceCheckUtils]: 48: Hoare triple {18097#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,127 INFO L290 TraceCheckUtils]: 49: Hoare triple {18152#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,128 INFO L272 TraceCheckUtils]: 50: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,128 INFO L290 TraceCheckUtils]: 51: Hoare triple {18152#(<= ~counter~0 3)} ~cond := #in~cond; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,128 INFO L290 TraceCheckUtils]: 52: Hoare triple {18152#(<= ~counter~0 3)} assume !(0 == ~cond); {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,129 INFO L290 TraceCheckUtils]: 53: Hoare triple {18152#(<= ~counter~0 3)} assume true; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,129 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18152#(<= ~counter~0 3)} {18152#(<= ~counter~0 3)} #82#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,129 INFO L272 TraceCheckUtils]: 55: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,130 INFO L290 TraceCheckUtils]: 56: Hoare triple {18152#(<= ~counter~0 3)} ~cond := #in~cond; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,130 INFO L290 TraceCheckUtils]: 57: Hoare triple {18152#(<= ~counter~0 3)} assume !(0 == ~cond); {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,130 INFO L290 TraceCheckUtils]: 58: Hoare triple {18152#(<= ~counter~0 3)} assume true; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,131 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18152#(<= ~counter~0 3)} {18152#(<= ~counter~0 3)} #84#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,131 INFO L272 TraceCheckUtils]: 60: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,131 INFO L290 TraceCheckUtils]: 61: Hoare triple {18152#(<= ~counter~0 3)} ~cond := #in~cond; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,131 INFO L290 TraceCheckUtils]: 62: Hoare triple {18152#(<= ~counter~0 3)} assume !(0 == ~cond); {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,132 INFO L290 TraceCheckUtils]: 63: Hoare triple {18152#(<= ~counter~0 3)} assume true; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,132 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18152#(<= ~counter~0 3)} {18152#(<= ~counter~0 3)} #86#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,132 INFO L290 TraceCheckUtils]: 65: Hoare triple {18152#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,133 INFO L290 TraceCheckUtils]: 66: Hoare triple {18152#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,133 INFO L290 TraceCheckUtils]: 67: Hoare triple {18207#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,133 INFO L272 TraceCheckUtils]: 68: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,134 INFO L290 TraceCheckUtils]: 69: Hoare triple {18207#(<= ~counter~0 4)} ~cond := #in~cond; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,134 INFO L290 TraceCheckUtils]: 70: Hoare triple {18207#(<= ~counter~0 4)} assume !(0 == ~cond); {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,134 INFO L290 TraceCheckUtils]: 71: Hoare triple {18207#(<= ~counter~0 4)} assume true; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,135 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18207#(<= ~counter~0 4)} {18207#(<= ~counter~0 4)} #82#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,135 INFO L272 TraceCheckUtils]: 73: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,135 INFO L290 TraceCheckUtils]: 74: Hoare triple {18207#(<= ~counter~0 4)} ~cond := #in~cond; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,136 INFO L290 TraceCheckUtils]: 75: Hoare triple {18207#(<= ~counter~0 4)} assume !(0 == ~cond); {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,136 INFO L290 TraceCheckUtils]: 76: Hoare triple {18207#(<= ~counter~0 4)} assume true; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,136 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18207#(<= ~counter~0 4)} {18207#(<= ~counter~0 4)} #84#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,137 INFO L272 TraceCheckUtils]: 78: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,137 INFO L290 TraceCheckUtils]: 79: Hoare triple {18207#(<= ~counter~0 4)} ~cond := #in~cond; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,137 INFO L290 TraceCheckUtils]: 80: Hoare triple {18207#(<= ~counter~0 4)} assume !(0 == ~cond); {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,137 INFO L290 TraceCheckUtils]: 81: Hoare triple {18207#(<= ~counter~0 4)} assume true; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,138 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {18207#(<= ~counter~0 4)} {18207#(<= ~counter~0 4)} #86#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,138 INFO L290 TraceCheckUtils]: 83: Hoare triple {18207#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,138 INFO L290 TraceCheckUtils]: 84: Hoare triple {18207#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18262#(<= |main_#t~post6| 4)} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 85: Hoare triple {18262#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 86: Hoare triple {18001#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 87: Hoare triple {18001#false} assume !(#t~post7 < 5);havoc #t~post7; {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L272 TraceCheckUtils]: 88: Hoare triple {18001#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 89: Hoare triple {18001#false} ~cond := #in~cond; {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 90: Hoare triple {18001#false} assume !(0 == ~cond); {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 91: Hoare triple {18001#false} assume true; {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {18001#false} {18001#false} #92#return; {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L272 TraceCheckUtils]: 93: Hoare triple {18001#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 94: Hoare triple {18001#false} ~cond := #in~cond; {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 95: Hoare triple {18001#false} assume 0 == ~cond; {18001#false} is VALID [2022-04-28 06:24:41,139 INFO L290 TraceCheckUtils]: 96: Hoare triple {18001#false} assume !false; {18001#false} is VALID [2022-04-28 06:24:41,140 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-28 06:24:41,140 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:24:41,485 INFO L290 TraceCheckUtils]: 96: Hoare triple {18001#false} assume !false; {18001#false} is VALID [2022-04-28 06:24:41,485 INFO L290 TraceCheckUtils]: 95: Hoare triple {18001#false} assume 0 == ~cond; {18001#false} is VALID [2022-04-28 06:24:41,485 INFO L290 TraceCheckUtils]: 94: Hoare triple {18001#false} ~cond := #in~cond; {18001#false} is VALID [2022-04-28 06:24:41,485 INFO L272 TraceCheckUtils]: 93: Hoare triple {18001#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {18001#false} is VALID [2022-04-28 06:24:41,485 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {18000#true} {18001#false} #92#return; {18001#false} is VALID [2022-04-28 06:24:41,485 INFO L290 TraceCheckUtils]: 91: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,485 INFO L290 TraceCheckUtils]: 90: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,485 INFO L290 TraceCheckUtils]: 89: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,485 INFO L272 TraceCheckUtils]: 88: Hoare triple {18001#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,485 INFO L290 TraceCheckUtils]: 87: Hoare triple {18001#false} assume !(#t~post7 < 5);havoc #t~post7; {18001#false} is VALID [2022-04-28 06:24:41,485 INFO L290 TraceCheckUtils]: 86: Hoare triple {18001#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {18001#false} is VALID [2022-04-28 06:24:41,486 INFO L290 TraceCheckUtils]: 85: Hoare triple {18262#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {18001#false} is VALID [2022-04-28 06:24:41,486 INFO L290 TraceCheckUtils]: 84: Hoare triple {18207#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18262#(<= |main_#t~post6| 4)} is VALID [2022-04-28 06:24:41,486 INFO L290 TraceCheckUtils]: 83: Hoare triple {18207#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,487 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {18000#true} {18207#(<= ~counter~0 4)} #86#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,487 INFO L290 TraceCheckUtils]: 81: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,487 INFO L290 TraceCheckUtils]: 80: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,487 INFO L290 TraceCheckUtils]: 79: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,487 INFO L272 TraceCheckUtils]: 78: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,487 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18000#true} {18207#(<= ~counter~0 4)} #84#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,487 INFO L290 TraceCheckUtils]: 76: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,487 INFO L290 TraceCheckUtils]: 75: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,487 INFO L290 TraceCheckUtils]: 74: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,487 INFO L272 TraceCheckUtils]: 73: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,488 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18000#true} {18207#(<= ~counter~0 4)} #82#return; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,488 INFO L290 TraceCheckUtils]: 71: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,488 INFO L290 TraceCheckUtils]: 70: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,488 INFO L290 TraceCheckUtils]: 69: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,488 INFO L272 TraceCheckUtils]: 68: Hoare triple {18207#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,488 INFO L290 TraceCheckUtils]: 67: Hoare triple {18207#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,489 INFO L290 TraceCheckUtils]: 66: Hoare triple {18152#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18207#(<= ~counter~0 4)} is VALID [2022-04-28 06:24:41,489 INFO L290 TraceCheckUtils]: 65: Hoare triple {18152#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,490 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18000#true} {18152#(<= ~counter~0 3)} #86#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,490 INFO L290 TraceCheckUtils]: 63: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,490 INFO L290 TraceCheckUtils]: 62: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,490 INFO L290 TraceCheckUtils]: 61: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,490 INFO L272 TraceCheckUtils]: 60: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,490 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {18000#true} {18152#(<= ~counter~0 3)} #84#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,490 INFO L290 TraceCheckUtils]: 58: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,490 INFO L290 TraceCheckUtils]: 57: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,490 INFO L290 TraceCheckUtils]: 56: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,490 INFO L272 TraceCheckUtils]: 55: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,491 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {18000#true} {18152#(<= ~counter~0 3)} #82#return; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,491 INFO L290 TraceCheckUtils]: 53: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,491 INFO L290 TraceCheckUtils]: 52: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,491 INFO L290 TraceCheckUtils]: 51: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,491 INFO L272 TraceCheckUtils]: 50: Hoare triple {18152#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,491 INFO L290 TraceCheckUtils]: 49: Hoare triple {18152#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,492 INFO L290 TraceCheckUtils]: 48: Hoare triple {18097#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18152#(<= ~counter~0 3)} is VALID [2022-04-28 06:24:41,492 INFO L290 TraceCheckUtils]: 47: Hoare triple {18097#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,492 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {18000#true} {18097#(<= ~counter~0 2)} #86#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,492 INFO L290 TraceCheckUtils]: 45: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,493 INFO L290 TraceCheckUtils]: 44: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,493 INFO L290 TraceCheckUtils]: 43: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,493 INFO L272 TraceCheckUtils]: 42: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,493 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {18000#true} {18097#(<= ~counter~0 2)} #84#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,493 INFO L290 TraceCheckUtils]: 39: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,493 INFO L290 TraceCheckUtils]: 38: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,493 INFO L272 TraceCheckUtils]: 37: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,494 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {18000#true} {18097#(<= ~counter~0 2)} #82#return; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,494 INFO L290 TraceCheckUtils]: 35: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,494 INFO L290 TraceCheckUtils]: 34: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,494 INFO L290 TraceCheckUtils]: 33: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,494 INFO L272 TraceCheckUtils]: 32: Hoare triple {18097#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {18097#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,494 INFO L290 TraceCheckUtils]: 30: Hoare triple {18042#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18097#(<= ~counter~0 2)} is VALID [2022-04-28 06:24:41,495 INFO L290 TraceCheckUtils]: 29: Hoare triple {18042#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,495 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18000#true} {18042#(<= ~counter~0 1)} #86#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,495 INFO L290 TraceCheckUtils]: 27: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,495 INFO L290 TraceCheckUtils]: 26: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,495 INFO L290 TraceCheckUtils]: 25: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,495 INFO L272 TraceCheckUtils]: 24: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,497 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18000#true} {18042#(<= ~counter~0 1)} #84#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,498 INFO L272 TraceCheckUtils]: 19: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,498 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {18000#true} {18042#(<= ~counter~0 1)} #82#return; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,498 INFO L290 TraceCheckUtils]: 17: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,498 INFO L290 TraceCheckUtils]: 16: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,498 INFO L272 TraceCheckUtils]: 14: Hoare triple {18042#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,498 INFO L290 TraceCheckUtils]: 13: Hoare triple {18042#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,499 INFO L290 TraceCheckUtils]: 12: Hoare triple {18008#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18042#(<= ~counter~0 1)} is VALID [2022-04-28 06:24:41,499 INFO L290 TraceCheckUtils]: 11: Hoare triple {18008#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,499 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18000#true} {18008#(<= ~counter~0 0)} #80#return; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,499 INFO L290 TraceCheckUtils]: 9: Hoare triple {18000#true} assume true; {18000#true} is VALID [2022-04-28 06:24:41,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {18000#true} assume !(0 == ~cond); {18000#true} is VALID [2022-04-28 06:24:41,500 INFO L290 TraceCheckUtils]: 7: Hoare triple {18000#true} ~cond := #in~cond; {18000#true} is VALID [2022-04-28 06:24:41,500 INFO L272 TraceCheckUtils]: 6: Hoare triple {18008#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {18000#true} is VALID [2022-04-28 06:24:41,500 INFO L290 TraceCheckUtils]: 5: Hoare triple {18008#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,500 INFO L272 TraceCheckUtils]: 4: Hoare triple {18008#(<= ~counter~0 0)} call #t~ret8 := main(); {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,500 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18008#(<= ~counter~0 0)} {18000#true} #96#return; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {18008#(<= ~counter~0 0)} assume true; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {18000#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18008#(<= ~counter~0 0)} is VALID [2022-04-28 06:24:41,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {18000#true} call ULTIMATE.init(); {18000#true} is VALID [2022-04-28 06:24:41,501 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:24:41,507 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:24:41,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2114035610] [2022-04-28 06:24:41,507 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:24:41,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1744433439] [2022-04-28 06:24:41,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1744433439] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:24:41,507 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:24:41,507 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-28 06:24:41,507 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:24:41,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1199680196] [2022-04-28 06:24:41,508 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1199680196] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:24:41,508 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:24:41,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 06:24:41,508 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [153135207] [2022-04-28 06:24:41,508 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:24:41,508 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-28 06:24:41,508 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:24:41,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:24:41,565 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 06:24:41,565 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 06:24:41,565 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:41,565 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 06:24:41,565 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-28 06:24:41,566 INFO L87 Difference]: Start difference. First operand 205 states and 243 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:24:42,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:42,190 INFO L93 Difference]: Finished difference Result 266 states and 328 transitions. [2022-04-28 06:24:42,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 06:24:42,190 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 97 [2022-04-28 06:24:42,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:24:42,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:24:42,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 124 transitions. [2022-04-28 06:24:42,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:24:42,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 124 transitions. [2022-04-28 06:24:42,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 124 transitions. [2022-04-28 06:24:42,322 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 06:24:42,327 INFO L225 Difference]: With dead ends: 266 [2022-04-28 06:24:42,327 INFO L226 Difference]: Without dead ends: 207 [2022-04-28 06:24:42,327 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 186 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 06:24:42,328 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 23 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 77 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:24:42,328 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 164 Invalid, 77 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:24:42,328 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2022-04-28 06:24:42,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 207. [2022-04-28 06:24:42,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:24:42,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:24:42,610 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:24:42,610 INFO L87 Difference]: Start difference. First operand 207 states. Second operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:24:42,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:42,614 INFO L93 Difference]: Finished difference Result 207 states and 245 transitions. [2022-04-28 06:24:42,614 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-28 06:24:42,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:42,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:42,615 INFO L74 IsIncluded]: Start isIncluded. First operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-28 06:24:42,616 INFO L87 Difference]: Start difference. First operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) Second operand 207 states. [2022-04-28 06:24:42,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:24:42,619 INFO L93 Difference]: Finished difference Result 207 states and 245 transitions. [2022-04-28 06:24:42,620 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-28 06:24:42,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:24:42,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:24:42,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:24:42,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:24:42,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 207 states, 136 states have (on average 1.1691176470588236) internal successors, (159), 145 states have internal predecessors, (159), 45 states have call successors, (45), 26 states have call predecessors, (45), 25 states have return successors, (41), 35 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-28 06:24:42,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 245 transitions. [2022-04-28 06:24:42,625 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 245 transitions. Word has length 97 [2022-04-28 06:24:42,625 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:24:42,625 INFO L495 AbstractCegarLoop]: Abstraction has 207 states and 245 transitions. [2022-04-28 06:24:42,625 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:24:42,625 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 245 transitions. [2022-04-28 06:24:44,950 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 245 edges. 244 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:24:44,951 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 245 transitions. [2022-04-28 06:24:44,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 06:24:44,951 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:24:44,952 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:24:44,970 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 06:24:45,163 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:45,164 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:24:45,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:24:45,164 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 5 times [2022-04-28 06:24:45,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:24:45,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2036525237] [2022-04-28 06:24:52,315 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:24:52,315 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:24:52,315 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:24:52,315 INFO L85 PathProgramCache]: Analyzing trace with hash -545719131, now seen corresponding path program 6 times [2022-04-28 06:24:52,315 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:24:52,315 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1308697000] [2022-04-28 06:24:52,315 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:24:52,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:24:52,326 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:24:52,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [983228383] [2022-04-28 06:24:52,326 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:24:52,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:24:52,327 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:24:52,329 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 06:24:52,330 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 06:24:52,480 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:24:52,480 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:24:52,481 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 06:24:52,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:24:52,499 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:25:32,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {19957#true} call ULTIMATE.init(); {19957#true} is VALID [2022-04-28 06:25:32,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {19957#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19957#true} is VALID [2022-04-28 06:25:32,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19957#true} {19957#true} #96#return; {19957#true} is VALID [2022-04-28 06:25:32,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {19957#true} call #t~ret8 := main(); {19957#true} is VALID [2022-04-28 06:25:32,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {19957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {19957#true} is VALID [2022-04-28 06:25:32,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {19957#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {19957#true} ~cond := #in~cond; {19983#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 06:25:32,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {19983#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {19987#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:25:32,669 INFO L290 TraceCheckUtils]: 9: Hoare triple {19987#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {19987#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 06:25:32,669 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19987#(not (= |assume_abort_if_not_#in~cond| 0))} {19957#true} #80#return; {19994#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 06:25:32,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {19994#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:25:32,672 INFO L290 TraceCheckUtils]: 12: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:25:32,672 INFO L290 TraceCheckUtils]: 13: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:25:32,673 INFO L272 TraceCheckUtils]: 14: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,673 INFO L290 TraceCheckUtils]: 15: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,673 INFO L290 TraceCheckUtils]: 16: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,673 INFO L290 TraceCheckUtils]: 17: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,673 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {19957#true} {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} #82#return; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:25:32,673 INFO L272 TraceCheckUtils]: 19: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,673 INFO L290 TraceCheckUtils]: 21: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,674 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19957#true} {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} #84#return; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:25:32,674 INFO L272 TraceCheckUtils]: 24: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,674 INFO L290 TraceCheckUtils]: 25: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,674 INFO L290 TraceCheckUtils]: 26: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,674 INFO L290 TraceCheckUtils]: 27: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,675 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {19957#true} {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} #86#return; {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 06:25:32,676 INFO L290 TraceCheckUtils]: 29: Hoare triple {19998#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (<= 1 (mod main_~d~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:32,676 INFO L290 TraceCheckUtils]: 30: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:32,677 INFO L290 TraceCheckUtils]: 31: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(#t~post6 < 5);havoc #t~post6; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:32,677 INFO L272 TraceCheckUtils]: 32: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,677 INFO L290 TraceCheckUtils]: 33: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,677 INFO L290 TraceCheckUtils]: 34: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,677 INFO L290 TraceCheckUtils]: 35: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,678 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19957#true} {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:32,678 INFO L272 TraceCheckUtils]: 37: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,678 INFO L290 TraceCheckUtils]: 38: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,678 INFO L290 TraceCheckUtils]: 39: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,678 INFO L290 TraceCheckUtils]: 40: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,678 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19957#true} {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:32,678 INFO L272 TraceCheckUtils]: 42: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,678 INFO L290 TraceCheckUtils]: 43: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,678 INFO L290 TraceCheckUtils]: 44: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,678 INFO L290 TraceCheckUtils]: 45: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,679 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19957#true} {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #86#return; {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:32,681 INFO L290 TraceCheckUtils]: 47: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,682 INFO L290 TraceCheckUtils]: 49: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} assume !!(#t~post6 < 5);havoc #t~post6; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,682 INFO L272 TraceCheckUtils]: 50: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,682 INFO L290 TraceCheckUtils]: 51: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,682 INFO L290 TraceCheckUtils]: 52: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,682 INFO L290 TraceCheckUtils]: 53: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,683 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #82#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,683 INFO L272 TraceCheckUtils]: 55: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,683 INFO L290 TraceCheckUtils]: 56: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,683 INFO L290 TraceCheckUtils]: 57: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,683 INFO L290 TraceCheckUtils]: 58: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,684 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #84#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,684 INFO L272 TraceCheckUtils]: 60: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,684 INFO L290 TraceCheckUtils]: 61: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,684 INFO L290 TraceCheckUtils]: 62: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,684 INFO L290 TraceCheckUtils]: 63: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,684 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #86#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,685 INFO L290 TraceCheckUtils]: 65: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} assume !(~r~0 >= ~d~0); {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,685 INFO L290 TraceCheckUtils]: 66: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,686 INFO L290 TraceCheckUtils]: 67: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} assume !!(#t~post7 < 5);havoc #t~post7; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,686 INFO L272 TraceCheckUtils]: 68: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,686 INFO L290 TraceCheckUtils]: 69: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,686 INFO L290 TraceCheckUtils]: 70: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,686 INFO L290 TraceCheckUtils]: 71: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,686 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #88#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,686 INFO L272 TraceCheckUtils]: 73: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,687 INFO L290 TraceCheckUtils]: 74: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,687 INFO L290 TraceCheckUtils]: 75: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,687 INFO L290 TraceCheckUtils]: 76: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,687 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19957#true} {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} #90#return; {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} is VALID [2022-04-28 06:25:32,689 INFO L290 TraceCheckUtils]: 78: Hoare triple {20108#(and (<= 1 (mod (div (div main_~d~0 2) 2) 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (div main_~d~0 2) 2)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (< (div (div main_~d~0 2) 2) 4294967296))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 06:25:32,690 INFO L290 TraceCheckUtils]: 79: Hoare triple {20053#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 06:25:32,691 INFO L290 TraceCheckUtils]: 80: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 06:25:32,691 INFO L290 TraceCheckUtils]: 81: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} assume !!(#t~post7 < 5);havoc #t~post7; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 06:25:32,691 INFO L272 TraceCheckUtils]: 82: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,691 INFO L290 TraceCheckUtils]: 83: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,691 INFO L290 TraceCheckUtils]: 84: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,691 INFO L290 TraceCheckUtils]: 85: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,692 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19957#true} {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} #88#return; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 06:25:32,692 INFO L272 TraceCheckUtils]: 87: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:25:32,692 INFO L290 TraceCheckUtils]: 88: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:25:32,692 INFO L290 TraceCheckUtils]: 89: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:25:32,692 INFO L290 TraceCheckUtils]: 90: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:25:32,693 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {19957#true} {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} #90#return; {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 06:25:32,695 INFO L290 TraceCheckUtils]: 92: Hoare triple {20205#(and (= main_~q~0 main_~p~0) (< (div main_~d~0 2) 4294967296) (<= 1 (mod (div main_~d~0 2) 4294967296)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 0 (div main_~d~0 2)) (= (mod main_~d~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20245#(and (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~q~0 2) (= (mod (+ (mod main_~A~0 4294967296) main_~r~0) 2) 0) (<= 1 (mod (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 1))} is VALID [2022-04-28 06:25:32,697 INFO L290 TraceCheckUtils]: 93: Hoare triple {20245#(and (< (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~q~0 2) (= (mod (+ (mod main_~A~0 4294967296) main_~r~0) 2) 0) (<= 1 (mod (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 06:25:32,698 INFO L290 TraceCheckUtils]: 94: Hoare triple {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 06:25:32,698 INFO L290 TraceCheckUtils]: 95: Hoare triple {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} assume !(#t~post7 < 5);havoc #t~post7; {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-28 06:25:32,700 INFO L272 TraceCheckUtils]: 96: Hoare triple {20249#(and (<= 1 (mod (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (< (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 4294967296) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (<= 0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {20259#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:25:32,700 INFO L290 TraceCheckUtils]: 97: Hoare triple {20259#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20263#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:25:32,700 INFO L290 TraceCheckUtils]: 98: Hoare triple {20263#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19958#false} is VALID [2022-04-28 06:25:32,700 INFO L290 TraceCheckUtils]: 99: Hoare triple {19958#false} assume !false; {19958#false} is VALID [2022-04-28 06:25:32,701 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:25:32,701 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:25:48,941 WARN L232 SmtUtils]: Spent 6.32s on a formula simplification that was a NOOP. DAG size: 152 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 06:26:26,384 INFO L290 TraceCheckUtils]: 99: Hoare triple {19958#false} assume !false; {19958#false} is VALID [2022-04-28 06:26:26,384 INFO L290 TraceCheckUtils]: 98: Hoare triple {20263#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19958#false} is VALID [2022-04-28 06:26:26,384 INFO L290 TraceCheckUtils]: 97: Hoare triple {20259#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20263#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:26:26,385 INFO L272 TraceCheckUtils]: 96: Hoare triple {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {20259#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:26:26,385 INFO L290 TraceCheckUtils]: 95: Hoare triple {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} assume !(#t~post7 < 5);havoc #t~post7; {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 06:26:26,386 INFO L290 TraceCheckUtils]: 94: Hoare triple {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 06:26:26,393 INFO L290 TraceCheckUtils]: 93: Hoare triple {20289#(= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 main_~p~0) main_~d~0) (* (- 1) main_~d~0) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20279#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 06:26:26,423 INFO L290 TraceCheckUtils]: 92: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20289#(= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 main_~p~0) main_~d~0) (* (- 1) main_~d~0) main_~r~0))} is VALID [2022-04-28 06:26:26,423 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {19957#true} {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #90#return; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 06:26:26,424 INFO L290 TraceCheckUtils]: 90: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,424 INFO L290 TraceCheckUtils]: 89: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,424 INFO L290 TraceCheckUtils]: 88: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,424 INFO L272 TraceCheckUtils]: 87: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,425 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {19957#true} {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 06:26:26,425 INFO L290 TraceCheckUtils]: 85: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,425 INFO L290 TraceCheckUtils]: 84: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,425 INFO L290 TraceCheckUtils]: 83: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,425 INFO L272 TraceCheckUtils]: 82: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,427 INFO L290 TraceCheckUtils]: 81: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(#t~post7 < 5);havoc #t~post7; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 06:26:26,428 INFO L290 TraceCheckUtils]: 80: Hoare triple {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 06:26:26,486 INFO L290 TraceCheckUtils]: 79: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20293#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (div main_~d~0 2)) (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div main_~p~0 2) 1) (div main_~d~0 2)) main_~r~0 (* (- 1) (div main_~d~0 2))))))) (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (+ (div main_~d~0 2) 1))))) (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 06:26:26,655 INFO L290 TraceCheckUtils]: 78: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-28 06:26:26,656 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #90#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,656 INFO L290 TraceCheckUtils]: 76: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,656 INFO L290 TraceCheckUtils]: 75: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,656 INFO L290 TraceCheckUtils]: 74: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,657 INFO L272 TraceCheckUtils]: 73: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,659 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #88#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,659 INFO L290 TraceCheckUtils]: 71: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,659 INFO L290 TraceCheckUtils]: 70: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,659 INFO L290 TraceCheckUtils]: 69: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,659 INFO L272 TraceCheckUtils]: 68: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,663 INFO L290 TraceCheckUtils]: 67: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post7 < 5);havoc #t~post7; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,668 INFO L290 TraceCheckUtils]: 66: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,671 INFO L290 TraceCheckUtils]: 65: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} assume !(~r~0 >= ~d~0); {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,676 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #86#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,676 INFO L290 TraceCheckUtils]: 63: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,676 INFO L290 TraceCheckUtils]: 62: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,676 INFO L290 TraceCheckUtils]: 61: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,676 INFO L272 TraceCheckUtils]: 60: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,677 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #84#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,678 INFO L290 TraceCheckUtils]: 58: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,678 INFO L290 TraceCheckUtils]: 57: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,678 INFO L290 TraceCheckUtils]: 56: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,678 INFO L272 TraceCheckUtils]: 55: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,679 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {19957#true} {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #82#return; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,679 INFO L290 TraceCheckUtils]: 53: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,679 INFO L290 TraceCheckUtils]: 52: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,679 INFO L290 TraceCheckUtils]: 51: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,680 INFO L272 TraceCheckUtils]: 50: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,686 INFO L290 TraceCheckUtils]: 49: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} assume !!(#t~post6 < 5);havoc #t~post6; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,690 INFO L290 TraceCheckUtils]: 48: Hoare triple {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,781 INFO L290 TraceCheckUtils]: 47: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20337#(and (or (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (div (div main_~d~0 2) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) (mod main_~A~0 4294967296)) (not (< (div main_~p~0 2) 0))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (+ (div main_~d~0 2) 1) 2) 1)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ (div (+ (div main_~d~0 2) 1) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (div (+ (div main_~d~0 2) 1) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (+ (div main_~d~0 2) 1) 2)) (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (* (div (div main_~d~0 2) 2) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (div (div main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ (div (div main_~d~0 2) 2) 1) (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (+ (div (div main_~d~0 2) 2) 1)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))))) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 06:26:26,782 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19957#true} {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} #86#return; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-28 06:26:26,782 INFO L290 TraceCheckUtils]: 45: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,782 INFO L290 TraceCheckUtils]: 44: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,782 INFO L290 TraceCheckUtils]: 43: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,782 INFO L272 TraceCheckUtils]: 42: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,783 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19957#true} {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} #84#return; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-28 06:26:26,783 INFO L290 TraceCheckUtils]: 40: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,783 INFO L290 TraceCheckUtils]: 39: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,783 INFO L290 TraceCheckUtils]: 38: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,783 INFO L272 TraceCheckUtils]: 37: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,783 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19957#true} {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} #82#return; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-28 06:26:26,783 INFO L290 TraceCheckUtils]: 35: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,783 INFO L290 TraceCheckUtils]: 34: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,783 INFO L290 TraceCheckUtils]: 33: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,784 INFO L272 TraceCheckUtils]: 32: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,785 INFO L290 TraceCheckUtils]: 31: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} assume !!(#t~post6 < 5);havoc #t~post6; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-28 06:26:26,786 INFO L290 TraceCheckUtils]: 30: Hoare triple {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-28 06:26:26,790 INFO L290 TraceCheckUtils]: 29: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20333#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (div main_~d~0 2) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) (div main_~d~0 2))))))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 main_~p~0 (div main_~p~0 2)))))))))} is VALID [2022-04-28 06:26:26,791 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {19957#true} {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} #86#return; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-28 06:26:26,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,791 INFO L272 TraceCheckUtils]: 24: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,791 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19957#true} {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} #84#return; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-28 06:26:26,791 INFO L290 TraceCheckUtils]: 22: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,791 INFO L290 TraceCheckUtils]: 21: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,792 INFO L290 TraceCheckUtils]: 20: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,792 INFO L272 TraceCheckUtils]: 19: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,792 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {19957#true} {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} #82#return; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-28 06:26:26,792 INFO L290 TraceCheckUtils]: 17: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,792 INFO L290 TraceCheckUtils]: 16: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,792 INFO L290 TraceCheckUtils]: 15: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,793 INFO L272 TraceCheckUtils]: 14: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,793 INFO L290 TraceCheckUtils]: 13: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} assume !!(#t~post6 < 5);havoc #t~post6; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-28 06:26:26,793 INFO L290 TraceCheckUtils]: 12: Hoare triple {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-28 06:26:26,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {19957#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {20485#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ (* main_~d~0 main_~q~0) main_~r~0 (* 3 (* main_~d~0 main_~p~0))))} is VALID [2022-04-28 06:26:26,794 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19957#true} {19957#true} #80#return; {19957#true} is VALID [2022-04-28 06:26:26,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {19957#true} assume !(0 == ~cond); {19957#true} is VALID [2022-04-28 06:26:26,794 INFO L290 TraceCheckUtils]: 7: Hoare triple {19957#true} ~cond := #in~cond; {19957#true} is VALID [2022-04-28 06:26:26,794 INFO L272 TraceCheckUtils]: 6: Hoare triple {19957#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {19957#true} is VALID [2022-04-28 06:26:26,794 INFO L290 TraceCheckUtils]: 5: Hoare triple {19957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {19957#true} is VALID [2022-04-28 06:26:26,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {19957#true} call #t~ret8 := main(); {19957#true} is VALID [2022-04-28 06:26:26,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19957#true} {19957#true} #96#return; {19957#true} is VALID [2022-04-28 06:26:26,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {19957#true} assume true; {19957#true} is VALID [2022-04-28 06:26:26,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {19957#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {19957#true} is VALID [2022-04-28 06:26:26,795 INFO L272 TraceCheckUtils]: 0: Hoare triple {19957#true} call ULTIMATE.init(); {19957#true} is VALID [2022-04-28 06:26:26,796 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:26:26,796 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:26:26,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1308697000] [2022-04-28 06:26:26,796 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:26:26,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [983228383] [2022-04-28 06:26:26,796 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [983228383] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:26:26,796 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:26:26,796 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 19 [2022-04-28 06:26:26,796 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:26:26,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2036525237] [2022-04-28 06:26:26,797 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2036525237] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:26:26,797 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:26:26,797 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 06:26:26,797 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [652253398] [2022-04-28 06:26:26,797 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:26:26,797 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-28 06:26:26,797 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:26:26,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:26:27,058 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 06:26:27,059 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 06:26:27,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:26:27,059 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 06:26:27,059 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-28 06:26:27,059 INFO L87 Difference]: Start difference. First operand 207 states and 245 transitions. Second operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:26:36,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:36,634 INFO L93 Difference]: Finished difference Result 221 states and 258 transitions. [2022-04-28 06:26:36,634 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 06:26:36,634 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 100 [2022-04-28 06:26:36,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:26:36,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:26:36,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 119 transitions. [2022-04-28 06:26:36,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:26:36,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 119 transitions. [2022-04-28 06:26:36,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 119 transitions. [2022-04-28 06:26:37,180 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:26:37,183 INFO L225 Difference]: With dead ends: 221 [2022-04-28 06:26:37,183 INFO L226 Difference]: Without dead ends: 206 [2022-04-28 06:26:37,184 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 207 GetRequests, 179 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 10.8s TimeCoverageRelationStatistics Valid=95, Invalid=607, Unknown=0, NotChecked=0, Total=702 [2022-04-28 06:26:37,184 INFO L413 NwaCegarLoop]: 71 mSDtfsCounter, 48 mSDsluCounter, 399 mSDsCounter, 0 mSdLazyCounter, 574 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 470 SdHoareTripleChecker+Invalid, 618 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 574 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:26:37,184 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 470 Invalid, 618 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 574 Invalid, 0 Unknown, 0 Unchecked, 6.0s Time] [2022-04-28 06:26:37,185 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-28 06:26:37,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 205. [2022-04-28 06:26:37,456 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:26:37,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 06:26:37,457 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 06:26:37,457 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 06:26:37,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:37,461 INFO L93 Difference]: Finished difference Result 206 states and 237 transitions. [2022-04-28 06:26:37,461 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 237 transitions. [2022-04-28 06:26:37,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:26:37,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:26:37,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) Second operand 206 states. [2022-04-28 06:26:37,463 INFO L87 Difference]: Start difference. First operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) Second operand 206 states. [2022-04-28 06:26:37,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:37,466 INFO L93 Difference]: Finished difference Result 206 states and 237 transitions. [2022-04-28 06:26:37,466 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 237 transitions. [2022-04-28 06:26:37,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:26:37,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:26:37,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:26:37,467 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:26:37,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 136 states have (on average 1.1470588235294117) internal successors, (156), 144 states have internal predecessors, (156), 42 states have call successors, (42), 27 states have call predecessors, (42), 26 states have return successors, (38), 33 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-28 06:26:37,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 236 transitions. [2022-04-28 06:26:37,472 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 236 transitions. Word has length 100 [2022-04-28 06:26:37,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:26:37,472 INFO L495 AbstractCegarLoop]: Abstraction has 205 states and 236 transitions. [2022-04-28 06:26:37,472 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.4615384615384617) internal successors, (32), 11 states have internal predecessors, (32), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 06:26:37,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 205 states and 236 transitions. [2022-04-28 06:26:39,929 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 235 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:26:39,930 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 236 transitions. [2022-04-28 06:26:39,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 06:26:39,930 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:26:39,930 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:26:39,947 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 06:26:40,131 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:26:40,131 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:26:40,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:26:40,132 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 9 times [2022-04-28 06:26:40,132 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:26:40,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1901829169] [2022-04-28 06:26:47,424 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:26:47,424 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:26:47,424 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:26:47,424 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 10 times [2022-04-28 06:26:47,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:26:47,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1115655930] [2022-04-28 06:26:47,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:26:47,425 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:26:47,436 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:26:47,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [574950510] [2022-04-28 06:26:47,436 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:26:47,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:26:47,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:26:47,452 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 06:26:47,469 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 06:26:47,520 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:26:47,520 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:26:47,521 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 06:26:47,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:26:47,542 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:26:47,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {21855#true} call ULTIMATE.init(); {21855#true} is VALID [2022-04-28 06:26:47,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {21855#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {21863#(<= 0 ~counter~0)} assume true; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21863#(<= 0 ~counter~0)} {21855#true} #96#return; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {21863#(<= 0 ~counter~0)} call #t~ret8 := main(); {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {21863#(<= 0 ~counter~0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,956 INFO L272 TraceCheckUtils]: 6: Hoare triple {21863#(<= 0 ~counter~0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {21863#(<= 0 ~counter~0)} ~cond := #in~cond; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {21863#(<= 0 ~counter~0)} assume !(0 == ~cond); {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {21863#(<= 0 ~counter~0)} assume true; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21863#(<= 0 ~counter~0)} {21863#(<= 0 ~counter~0)} #80#return; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {21863#(<= 0 ~counter~0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:47,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {21863#(<= 0 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {21897#(<= 1 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,959 INFO L272 TraceCheckUtils]: 14: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {21897#(<= 1 ~counter~0)} ~cond := #in~cond; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {21897#(<= 1 ~counter~0)} assume !(0 == ~cond); {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,959 INFO L290 TraceCheckUtils]: 17: Hoare triple {21897#(<= 1 ~counter~0)} assume true; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,960 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21897#(<= 1 ~counter~0)} {21897#(<= 1 ~counter~0)} #82#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,960 INFO L272 TraceCheckUtils]: 19: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {21897#(<= 1 ~counter~0)} ~cond := #in~cond; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,961 INFO L290 TraceCheckUtils]: 21: Hoare triple {21897#(<= 1 ~counter~0)} assume !(0 == ~cond); {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,961 INFO L290 TraceCheckUtils]: 22: Hoare triple {21897#(<= 1 ~counter~0)} assume true; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,967 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21897#(<= 1 ~counter~0)} {21897#(<= 1 ~counter~0)} #84#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,968 INFO L272 TraceCheckUtils]: 24: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {21897#(<= 1 ~counter~0)} ~cond := #in~cond; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {21897#(<= 1 ~counter~0)} assume !(0 == ~cond); {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,969 INFO L290 TraceCheckUtils]: 27: Hoare triple {21897#(<= 1 ~counter~0)} assume true; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,970 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21897#(<= 1 ~counter~0)} {21897#(<= 1 ~counter~0)} #86#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,970 INFO L290 TraceCheckUtils]: 29: Hoare triple {21897#(<= 1 ~counter~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:47,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {21897#(<= 1 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {21952#(<= 2 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,972 INFO L272 TraceCheckUtils]: 32: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,972 INFO L290 TraceCheckUtils]: 33: Hoare triple {21952#(<= 2 ~counter~0)} ~cond := #in~cond; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,973 INFO L290 TraceCheckUtils]: 34: Hoare triple {21952#(<= 2 ~counter~0)} assume !(0 == ~cond); {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,973 INFO L290 TraceCheckUtils]: 35: Hoare triple {21952#(<= 2 ~counter~0)} assume true; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,973 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21952#(<= 2 ~counter~0)} {21952#(<= 2 ~counter~0)} #82#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,974 INFO L272 TraceCheckUtils]: 37: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,974 INFO L290 TraceCheckUtils]: 38: Hoare triple {21952#(<= 2 ~counter~0)} ~cond := #in~cond; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,974 INFO L290 TraceCheckUtils]: 39: Hoare triple {21952#(<= 2 ~counter~0)} assume !(0 == ~cond); {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,975 INFO L290 TraceCheckUtils]: 40: Hoare triple {21952#(<= 2 ~counter~0)} assume true; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,975 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21952#(<= 2 ~counter~0)} {21952#(<= 2 ~counter~0)} #84#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,975 INFO L272 TraceCheckUtils]: 42: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,976 INFO L290 TraceCheckUtils]: 43: Hoare triple {21952#(<= 2 ~counter~0)} ~cond := #in~cond; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,976 INFO L290 TraceCheckUtils]: 44: Hoare triple {21952#(<= 2 ~counter~0)} assume !(0 == ~cond); {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,976 INFO L290 TraceCheckUtils]: 45: Hoare triple {21952#(<= 2 ~counter~0)} assume true; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,977 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21952#(<= 2 ~counter~0)} {21952#(<= 2 ~counter~0)} #86#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,977 INFO L290 TraceCheckUtils]: 47: Hoare triple {21952#(<= 2 ~counter~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:47,977 INFO L290 TraceCheckUtils]: 48: Hoare triple {21952#(<= 2 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,978 INFO L290 TraceCheckUtils]: 49: Hoare triple {22007#(<= 3 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,978 INFO L272 TraceCheckUtils]: 50: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,978 INFO L290 TraceCheckUtils]: 51: Hoare triple {22007#(<= 3 ~counter~0)} ~cond := #in~cond; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,979 INFO L290 TraceCheckUtils]: 52: Hoare triple {22007#(<= 3 ~counter~0)} assume !(0 == ~cond); {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,979 INFO L290 TraceCheckUtils]: 53: Hoare triple {22007#(<= 3 ~counter~0)} assume true; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,979 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {22007#(<= 3 ~counter~0)} {22007#(<= 3 ~counter~0)} #82#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,980 INFO L272 TraceCheckUtils]: 55: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,980 INFO L290 TraceCheckUtils]: 56: Hoare triple {22007#(<= 3 ~counter~0)} ~cond := #in~cond; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,980 INFO L290 TraceCheckUtils]: 57: Hoare triple {22007#(<= 3 ~counter~0)} assume !(0 == ~cond); {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,980 INFO L290 TraceCheckUtils]: 58: Hoare triple {22007#(<= 3 ~counter~0)} assume true; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,981 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {22007#(<= 3 ~counter~0)} {22007#(<= 3 ~counter~0)} #84#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,981 INFO L272 TraceCheckUtils]: 60: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,982 INFO L290 TraceCheckUtils]: 61: Hoare triple {22007#(<= 3 ~counter~0)} ~cond := #in~cond; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,982 INFO L290 TraceCheckUtils]: 62: Hoare triple {22007#(<= 3 ~counter~0)} assume !(0 == ~cond); {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,982 INFO L290 TraceCheckUtils]: 63: Hoare triple {22007#(<= 3 ~counter~0)} assume true; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,983 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22007#(<= 3 ~counter~0)} {22007#(<= 3 ~counter~0)} #86#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,983 INFO L290 TraceCheckUtils]: 65: Hoare triple {22007#(<= 3 ~counter~0)} assume !(~r~0 >= ~d~0); {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:47,983 INFO L290 TraceCheckUtils]: 66: Hoare triple {22007#(<= 3 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,984 INFO L290 TraceCheckUtils]: 67: Hoare triple {22062#(<= 4 ~counter~0)} assume !!(#t~post7 < 5);havoc #t~post7; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,984 INFO L272 TraceCheckUtils]: 68: Hoare triple {22062#(<= 4 ~counter~0)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,984 INFO L290 TraceCheckUtils]: 69: Hoare triple {22062#(<= 4 ~counter~0)} ~cond := #in~cond; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,985 INFO L290 TraceCheckUtils]: 70: Hoare triple {22062#(<= 4 ~counter~0)} assume !(0 == ~cond); {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,985 INFO L290 TraceCheckUtils]: 71: Hoare triple {22062#(<= 4 ~counter~0)} assume true; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,985 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {22062#(<= 4 ~counter~0)} {22062#(<= 4 ~counter~0)} #88#return; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,986 INFO L272 TraceCheckUtils]: 73: Hoare triple {22062#(<= 4 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,986 INFO L290 TraceCheckUtils]: 74: Hoare triple {22062#(<= 4 ~counter~0)} ~cond := #in~cond; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,986 INFO L290 TraceCheckUtils]: 75: Hoare triple {22062#(<= 4 ~counter~0)} assume !(0 == ~cond); {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,987 INFO L290 TraceCheckUtils]: 76: Hoare triple {22062#(<= 4 ~counter~0)} assume true; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,987 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {22062#(<= 4 ~counter~0)} {22062#(<= 4 ~counter~0)} #90#return; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,987 INFO L290 TraceCheckUtils]: 78: Hoare triple {22062#(<= 4 ~counter~0)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,988 INFO L290 TraceCheckUtils]: 79: Hoare triple {22062#(<= 4 ~counter~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:47,988 INFO L290 TraceCheckUtils]: 80: Hoare triple {22062#(<= 4 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,988 INFO L290 TraceCheckUtils]: 81: Hoare triple {22105#(<= 5 ~counter~0)} assume !!(#t~post7 < 5);havoc #t~post7; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,989 INFO L272 TraceCheckUtils]: 82: Hoare triple {22105#(<= 5 ~counter~0)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,989 INFO L290 TraceCheckUtils]: 83: Hoare triple {22105#(<= 5 ~counter~0)} ~cond := #in~cond; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,989 INFO L290 TraceCheckUtils]: 84: Hoare triple {22105#(<= 5 ~counter~0)} assume !(0 == ~cond); {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,990 INFO L290 TraceCheckUtils]: 85: Hoare triple {22105#(<= 5 ~counter~0)} assume true; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,990 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {22105#(<= 5 ~counter~0)} {22105#(<= 5 ~counter~0)} #88#return; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,991 INFO L272 TraceCheckUtils]: 87: Hoare triple {22105#(<= 5 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,991 INFO L290 TraceCheckUtils]: 88: Hoare triple {22105#(<= 5 ~counter~0)} ~cond := #in~cond; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,991 INFO L290 TraceCheckUtils]: 89: Hoare triple {22105#(<= 5 ~counter~0)} assume !(0 == ~cond); {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,992 INFO L290 TraceCheckUtils]: 90: Hoare triple {22105#(<= 5 ~counter~0)} assume true; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,992 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {22105#(<= 5 ~counter~0)} {22105#(<= 5 ~counter~0)} #90#return; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,992 INFO L290 TraceCheckUtils]: 92: Hoare triple {22105#(<= 5 ~counter~0)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,993 INFO L290 TraceCheckUtils]: 93: Hoare triple {22105#(<= 5 ~counter~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:47,993 INFO L290 TraceCheckUtils]: 94: Hoare triple {22105#(<= 5 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22148#(<= 5 |main_#t~post7|)} is VALID [2022-04-28 06:26:47,993 INFO L290 TraceCheckUtils]: 95: Hoare triple {22148#(<= 5 |main_#t~post7|)} assume !!(#t~post7 < 5);havoc #t~post7; {21856#false} is VALID [2022-04-28 06:26:47,993 INFO L272 TraceCheckUtils]: 96: Hoare triple {21856#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {21856#false} is VALID [2022-04-28 06:26:47,993 INFO L290 TraceCheckUtils]: 97: Hoare triple {21856#false} ~cond := #in~cond; {21856#false} is VALID [2022-04-28 06:26:47,993 INFO L290 TraceCheckUtils]: 98: Hoare triple {21856#false} assume 0 == ~cond; {21856#false} is VALID [2022-04-28 06:26:47,993 INFO L290 TraceCheckUtils]: 99: Hoare triple {21856#false} assume !false; {21856#false} is VALID [2022-04-28 06:26:47,994 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 322 proven. 2 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 06:26:47,994 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:26:48,405 INFO L290 TraceCheckUtils]: 99: Hoare triple {21856#false} assume !false; {21856#false} is VALID [2022-04-28 06:26:48,405 INFO L290 TraceCheckUtils]: 98: Hoare triple {21856#false} assume 0 == ~cond; {21856#false} is VALID [2022-04-28 06:26:48,405 INFO L290 TraceCheckUtils]: 97: Hoare triple {21856#false} ~cond := #in~cond; {21856#false} is VALID [2022-04-28 06:26:48,405 INFO L272 TraceCheckUtils]: 96: Hoare triple {21856#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {21856#false} is VALID [2022-04-28 06:26:48,405 INFO L290 TraceCheckUtils]: 95: Hoare triple {22148#(<= 5 |main_#t~post7|)} assume !!(#t~post7 < 5);havoc #t~post7; {21856#false} is VALID [2022-04-28 06:26:48,406 INFO L290 TraceCheckUtils]: 94: Hoare triple {22105#(<= 5 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22148#(<= 5 |main_#t~post7|)} is VALID [2022-04-28 06:26:48,406 INFO L290 TraceCheckUtils]: 93: Hoare triple {22105#(<= 5 ~counter~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:48,406 INFO L290 TraceCheckUtils]: 92: Hoare triple {22105#(<= 5 ~counter~0)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:48,407 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {21855#true} {22105#(<= 5 ~counter~0)} #90#return; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:48,407 INFO L290 TraceCheckUtils]: 90: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,407 INFO L290 TraceCheckUtils]: 89: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,407 INFO L290 TraceCheckUtils]: 88: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,407 INFO L272 TraceCheckUtils]: 87: Hoare triple {22105#(<= 5 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,408 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21855#true} {22105#(<= 5 ~counter~0)} #88#return; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:48,408 INFO L290 TraceCheckUtils]: 85: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,408 INFO L290 TraceCheckUtils]: 84: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,408 INFO L290 TraceCheckUtils]: 83: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,408 INFO L272 TraceCheckUtils]: 82: Hoare triple {22105#(<= 5 ~counter~0)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,408 INFO L290 TraceCheckUtils]: 81: Hoare triple {22105#(<= 5 ~counter~0)} assume !!(#t~post7 < 5);havoc #t~post7; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:48,409 INFO L290 TraceCheckUtils]: 80: Hoare triple {22062#(<= 4 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22105#(<= 5 ~counter~0)} is VALID [2022-04-28 06:26:48,409 INFO L290 TraceCheckUtils]: 79: Hoare triple {22062#(<= 4 ~counter~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:48,410 INFO L290 TraceCheckUtils]: 78: Hoare triple {22062#(<= 4 ~counter~0)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:48,410 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {21855#true} {22062#(<= 4 ~counter~0)} #90#return; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:48,410 INFO L290 TraceCheckUtils]: 76: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,410 INFO L290 TraceCheckUtils]: 75: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,410 INFO L290 TraceCheckUtils]: 74: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,410 INFO L272 TraceCheckUtils]: 73: Hoare triple {22062#(<= 4 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,411 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {21855#true} {22062#(<= 4 ~counter~0)} #88#return; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:48,411 INFO L290 TraceCheckUtils]: 71: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,411 INFO L290 TraceCheckUtils]: 70: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,411 INFO L290 TraceCheckUtils]: 69: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,411 INFO L272 TraceCheckUtils]: 68: Hoare triple {22062#(<= 4 ~counter~0)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,411 INFO L290 TraceCheckUtils]: 67: Hoare triple {22062#(<= 4 ~counter~0)} assume !!(#t~post7 < 5);havoc #t~post7; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:48,412 INFO L290 TraceCheckUtils]: 66: Hoare triple {22007#(<= 3 ~counter~0)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {22062#(<= 4 ~counter~0)} is VALID [2022-04-28 06:26:48,412 INFO L290 TraceCheckUtils]: 65: Hoare triple {22007#(<= 3 ~counter~0)} assume !(~r~0 >= ~d~0); {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:48,413 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21855#true} {22007#(<= 3 ~counter~0)} #86#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:48,413 INFO L290 TraceCheckUtils]: 63: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,413 INFO L290 TraceCheckUtils]: 62: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,413 INFO L290 TraceCheckUtils]: 61: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,413 INFO L272 TraceCheckUtils]: 60: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,413 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21855#true} {22007#(<= 3 ~counter~0)} #84#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:48,413 INFO L290 TraceCheckUtils]: 58: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,413 INFO L290 TraceCheckUtils]: 57: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,413 INFO L290 TraceCheckUtils]: 56: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,413 INFO L272 TraceCheckUtils]: 55: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,414 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {21855#true} {22007#(<= 3 ~counter~0)} #82#return; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:48,414 INFO L290 TraceCheckUtils]: 53: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,414 INFO L290 TraceCheckUtils]: 52: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,414 INFO L290 TraceCheckUtils]: 51: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,414 INFO L272 TraceCheckUtils]: 50: Hoare triple {22007#(<= 3 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,414 INFO L290 TraceCheckUtils]: 49: Hoare triple {22007#(<= 3 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:48,415 INFO L290 TraceCheckUtils]: 48: Hoare triple {21952#(<= 2 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {22007#(<= 3 ~counter~0)} is VALID [2022-04-28 06:26:48,415 INFO L290 TraceCheckUtils]: 47: Hoare triple {21952#(<= 2 ~counter~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:48,416 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {21855#true} {21952#(<= 2 ~counter~0)} #86#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:48,416 INFO L290 TraceCheckUtils]: 45: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,416 INFO L290 TraceCheckUtils]: 44: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,416 INFO L290 TraceCheckUtils]: 43: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,416 INFO L272 TraceCheckUtils]: 42: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,416 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {21855#true} {21952#(<= 2 ~counter~0)} #84#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:48,416 INFO L290 TraceCheckUtils]: 40: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,416 INFO L290 TraceCheckUtils]: 39: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,416 INFO L290 TraceCheckUtils]: 38: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,416 INFO L272 TraceCheckUtils]: 37: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,417 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {21855#true} {21952#(<= 2 ~counter~0)} #82#return; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:48,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,417 INFO L290 TraceCheckUtils]: 34: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,417 INFO L290 TraceCheckUtils]: 33: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,417 INFO L272 TraceCheckUtils]: 32: Hoare triple {21952#(<= 2 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,417 INFO L290 TraceCheckUtils]: 31: Hoare triple {21952#(<= 2 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:48,418 INFO L290 TraceCheckUtils]: 30: Hoare triple {21897#(<= 1 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21952#(<= 2 ~counter~0)} is VALID [2022-04-28 06:26:48,418 INFO L290 TraceCheckUtils]: 29: Hoare triple {21897#(<= 1 ~counter~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:48,424 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {21855#true} {21897#(<= 1 ~counter~0)} #86#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:48,424 INFO L290 TraceCheckUtils]: 27: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,424 INFO L290 TraceCheckUtils]: 26: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,424 INFO L290 TraceCheckUtils]: 25: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,425 INFO L272 TraceCheckUtils]: 24: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,425 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {21855#true} {21897#(<= 1 ~counter~0)} #84#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:48,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,425 INFO L290 TraceCheckUtils]: 21: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,425 INFO L272 TraceCheckUtils]: 19: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,426 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {21855#true} {21897#(<= 1 ~counter~0)} #82#return; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:48,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,426 INFO L272 TraceCheckUtils]: 14: Hoare triple {21897#(<= 1 ~counter~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {21897#(<= 1 ~counter~0)} assume !!(#t~post6 < 5);havoc #t~post6; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:48,433 INFO L290 TraceCheckUtils]: 12: Hoare triple {21863#(<= 0 ~counter~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21897#(<= 1 ~counter~0)} is VALID [2022-04-28 06:26:48,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {21863#(<= 0 ~counter~0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:48,433 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21855#true} {21863#(<= 0 ~counter~0)} #80#return; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:48,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {21855#true} assume true; {21855#true} is VALID [2022-04-28 06:26:48,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {21855#true} assume !(0 == ~cond); {21855#true} is VALID [2022-04-28 06:26:48,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {21855#true} ~cond := #in~cond; {21855#true} is VALID [2022-04-28 06:26:48,434 INFO L272 TraceCheckUtils]: 6: Hoare triple {21863#(<= 0 ~counter~0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {21855#true} is VALID [2022-04-28 06:26:48,434 INFO L290 TraceCheckUtils]: 5: Hoare triple {21863#(<= 0 ~counter~0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:48,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {21863#(<= 0 ~counter~0)} call #t~ret8 := main(); {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:48,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21863#(<= 0 ~counter~0)} {21855#true} #96#return; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:48,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {21863#(<= 0 ~counter~0)} assume true; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:48,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {21855#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {21863#(<= 0 ~counter~0)} is VALID [2022-04-28 06:26:48,435 INFO L272 TraceCheckUtils]: 0: Hoare triple {21855#true} call ULTIMATE.init(); {21855#true} is VALID [2022-04-28 06:26:48,435 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 54 proven. 2 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-28 06:26:48,436 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:26:48,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1115655930] [2022-04-28 06:26:48,436 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:26:48,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [574950510] [2022-04-28 06:26:48,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [574950510] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:26:48,436 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:26:48,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 9 [2022-04-28 06:26:48,436 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:26:48,436 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1901829169] [2022-04-28 06:26:48,436 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1901829169] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:26:48,436 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:26:48,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 06:26:48,436 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1515095981] [2022-04-28 06:26:48,437 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:26:48,437 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-28 06:26:48,437 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:26:48,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:26:48,507 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 06:26:48,508 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 06:26:48,508 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:26:48,508 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 06:26:48,508 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2022-04-28 06:26:48,508 INFO L87 Difference]: Start difference. First operand 205 states and 236 transitions. Second operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:26:49,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:49,487 INFO L93 Difference]: Finished difference Result 234 states and 268 transitions. [2022-04-28 06:26:49,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 06:26:49,487 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) Word has length 100 [2022-04-28 06:26:49,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:26:49,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:26:49,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 122 transitions. [2022-04-28 06:26:49,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:26:49,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 122 transitions. [2022-04-28 06:26:49,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 122 transitions. [2022-04-28 06:26:49,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:26:49,634 INFO L225 Difference]: With dead ends: 234 [2022-04-28 06:26:49,634 INFO L226 Difference]: Without dead ends: 160 [2022-04-28 06:26:49,634 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 191 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2022-04-28 06:26:49,635 INFO L413 NwaCegarLoop]: 92 mSDtfsCounter, 41 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 234 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 06:26:49,635 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 234 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 06:26:49,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-28 06:26:49,948 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 158. [2022-04-28 06:26:49,949 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:26:49,949 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:26:49,949 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:26:49,949 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:26:49,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:49,953 INFO L93 Difference]: Finished difference Result 160 states and 167 transitions. [2022-04-28 06:26:49,953 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 167 transitions. [2022-04-28 06:26:49,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:26:49,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:26:49,954 INFO L74 IsIncluded]: Start isIncluded. First operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 160 states. [2022-04-28 06:26:49,955 INFO L87 Difference]: Start difference. First operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 160 states. [2022-04-28 06:26:49,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:26:49,957 INFO L93 Difference]: Finished difference Result 160 states and 167 transitions. [2022-04-28 06:26:49,958 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 167 transitions. [2022-04-28 06:26:49,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:26:49,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:26:49,958 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:26:49,958 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:26:49,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 158 states, 106 states have (on average 1.0566037735849056) internal successors, (112), 109 states have internal predecessors, (112), 28 states have call successors, (28), 24 states have call predecessors, (28), 23 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 06:26:49,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 158 states to 158 states and 165 transitions. [2022-04-28 06:26:49,961 INFO L78 Accepts]: Start accepts. Automaton has 158 states and 165 transitions. Word has length 100 [2022-04-28 06:26:49,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:26:49,962 INFO L495 AbstractCegarLoop]: Abstraction has 158 states and 165 transitions. [2022-04-28 06:26:49,962 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.888888888888889) internal successors, (44), 8 states have internal predecessors, (44), 8 states have call successors, (17), 8 states have call predecessors, (17), 6 states have return successors, (15), 6 states have call predecessors, (15), 7 states have call successors, (15) [2022-04-28 06:26:49,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 158 states and 165 transitions. [2022-04-28 06:26:50,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 165 edges. 165 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:26:50,331 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 165 transitions. [2022-04-28 06:26:50,332 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 06:26:50,332 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:26:50,332 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:26:50,350 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 06:26:50,532 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:26:50,533 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:26:50,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:26:50,533 INFO L85 PathProgramCache]: Analyzing trace with hash -123017305, now seen corresponding path program 1 times [2022-04-28 06:26:50,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:26:50,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [147514759] [2022-04-28 06:26:57,039 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:26:57,039 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:26:57,039 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:26:57,039 INFO L85 PathProgramCache]: Analyzing trace with hash -123017305, now seen corresponding path program 2 times [2022-04-28 06:26:57,039 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:26:57,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [171794008] [2022-04-28 06:26:57,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:26:57,039 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:26:57,051 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:26:57,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [991335350] [2022-04-28 06:26:57,052 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:26:57,052 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:26:57,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:26:57,056 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 06:26:57,058 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 06:26:57,112 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:26:57,112 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:26:57,113 INFO L263 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 06:26:57,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:26:57,130 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:26:59,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {23569#true} call ULTIMATE.init(); {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {23569#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23569#true} {23569#true} #96#return; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {23569#true} call #t~ret8 := main(); {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {23569#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {23569#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 8: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 9: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23569#true} {23569#true} #80#return; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 11: Hoare triple {23569#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 12: Hoare triple {23569#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 13: Hoare triple {23569#true} assume !!(#t~post6 < 5);havoc #t~post6; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L272 TraceCheckUtils]: 14: Hoare triple {23569#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 15: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 16: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L290 TraceCheckUtils]: 17: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,321 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {23569#true} {23569#true} #82#return; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L272 TraceCheckUtils]: 19: Hoare triple {23569#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 20: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 21: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 22: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23569#true} {23569#true} #84#return; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L272 TraceCheckUtils]: 24: Hoare triple {23569#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 25: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 27: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23569#true} {23569#true} #86#return; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {23569#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {23569#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {23569#true} assume !!(#t~post6 < 5);havoc #t~post6; {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L272 TraceCheckUtils]: 32: Hoare triple {23569#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,322 INFO L290 TraceCheckUtils]: 33: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L290 TraceCheckUtils]: 34: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L290 TraceCheckUtils]: 35: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {23569#true} {23569#true} #82#return; {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L272 TraceCheckUtils]: 37: Hoare triple {23569#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L290 TraceCheckUtils]: 38: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L290 TraceCheckUtils]: 39: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L290 TraceCheckUtils]: 40: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {23569#true} {23569#true} #84#return; {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L272 TraceCheckUtils]: 42: Hoare triple {23569#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L290 TraceCheckUtils]: 43: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,323 INFO L290 TraceCheckUtils]: 44: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,324 INFO L290 TraceCheckUtils]: 45: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,324 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {23569#true} {23569#true} #86#return; {23569#true} is VALID [2022-04-28 06:26:59,328 INFO L290 TraceCheckUtils]: 47: Hoare triple {23569#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-28 06:26:59,329 INFO L290 TraceCheckUtils]: 48: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-28 06:26:59,329 INFO L290 TraceCheckUtils]: 49: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} assume !!(#t~post6 < 5);havoc #t~post6; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-28 06:26:59,329 INFO L272 TraceCheckUtils]: 50: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,329 INFO L290 TraceCheckUtils]: 51: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,329 INFO L290 TraceCheckUtils]: 52: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,329 INFO L290 TraceCheckUtils]: 53: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,330 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {23569#true} {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} #82#return; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-28 06:26:59,330 INFO L272 TraceCheckUtils]: 55: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,330 INFO L290 TraceCheckUtils]: 56: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,330 INFO L290 TraceCheckUtils]: 57: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,330 INFO L290 TraceCheckUtils]: 58: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,331 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {23569#true} {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} #84#return; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-28 06:26:59,331 INFO L272 TraceCheckUtils]: 60: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,331 INFO L290 TraceCheckUtils]: 61: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,331 INFO L290 TraceCheckUtils]: 62: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,331 INFO L290 TraceCheckUtils]: 63: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,332 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {23569#true} {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} #86#return; {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} is VALID [2022-04-28 06:26:59,332 INFO L290 TraceCheckUtils]: 65: Hoare triple {23715#(<= (div (- main_~d~0) (- 2)) main_~r~0)} assume !(~r~0 >= ~d~0); {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:26:59,333 INFO L290 TraceCheckUtils]: 66: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:26:59,333 INFO L290 TraceCheckUtils]: 67: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 5);havoc #t~post7; {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:26:59,333 INFO L272 TraceCheckUtils]: 68: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,333 INFO L290 TraceCheckUtils]: 69: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,333 INFO L290 TraceCheckUtils]: 70: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,333 INFO L290 TraceCheckUtils]: 71: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,334 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {23569#true} {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #88#return; {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:26:59,334 INFO L272 TraceCheckUtils]: 73: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23569#true} is VALID [2022-04-28 06:26:59,334 INFO L290 TraceCheckUtils]: 74: Hoare triple {23569#true} ~cond := #in~cond; {23569#true} is VALID [2022-04-28 06:26:59,334 INFO L290 TraceCheckUtils]: 75: Hoare triple {23569#true} assume !(0 == ~cond); {23569#true} is VALID [2022-04-28 06:26:59,334 INFO L290 TraceCheckUtils]: 76: Hoare triple {23569#true} assume true; {23569#true} is VALID [2022-04-28 06:26:59,335 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {23569#true} {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #90#return; {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 06:26:59,336 INFO L290 TraceCheckUtils]: 78: Hoare triple {23770#(and (not (<= main_~d~0 main_~r~0)) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {23810#(and (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 06:26:59,337 INFO L290 TraceCheckUtils]: 79: Hoare triple {23810#(and (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {23570#false} is VALID [2022-04-28 06:26:59,337 INFO L290 TraceCheckUtils]: 80: Hoare triple {23570#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23570#false} is VALID [2022-04-28 06:26:59,337 INFO L290 TraceCheckUtils]: 81: Hoare triple {23570#false} assume !!(#t~post7 < 5);havoc #t~post7; {23570#false} is VALID [2022-04-28 06:26:59,337 INFO L272 TraceCheckUtils]: 82: Hoare triple {23570#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {23570#false} is VALID [2022-04-28 06:26:59,337 INFO L290 TraceCheckUtils]: 83: Hoare triple {23570#false} ~cond := #in~cond; {23570#false} is VALID [2022-04-28 06:26:59,337 INFO L290 TraceCheckUtils]: 84: Hoare triple {23570#false} assume !(0 == ~cond); {23570#false} is VALID [2022-04-28 06:26:59,337 INFO L290 TraceCheckUtils]: 85: Hoare triple {23570#false} assume true; {23570#false} is VALID [2022-04-28 06:26:59,337 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {23570#false} {23570#false} #88#return; {23570#false} is VALID [2022-04-28 06:26:59,337 INFO L272 TraceCheckUtils]: 87: Hoare triple {23570#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 88: Hoare triple {23570#false} ~cond := #in~cond; {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 89: Hoare triple {23570#false} assume !(0 == ~cond); {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 90: Hoare triple {23570#false} assume true; {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {23570#false} {23570#false} #90#return; {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 92: Hoare triple {23570#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 93: Hoare triple {23570#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 94: Hoare triple {23570#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 95: Hoare triple {23570#false} assume !(#t~post7 < 5);havoc #t~post7; {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L272 TraceCheckUtils]: 96: Hoare triple {23570#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 97: Hoare triple {23570#false} ~cond := #in~cond; {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 98: Hoare triple {23570#false} assume 0 == ~cond; {23570#false} is VALID [2022-04-28 06:26:59,338 INFO L290 TraceCheckUtils]: 99: Hoare triple {23570#false} assume !false; {23570#false} is VALID [2022-04-28 06:26:59,339 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 130 proven. 0 refuted. 0 times theorem prover too weak. 236 trivial. 0 not checked. [2022-04-28 06:26:59,339 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 06:26:59,339 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:26:59,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [171794008] [2022-04-28 06:26:59,339 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:26:59,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [991335350] [2022-04-28 06:26:59,339 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [991335350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:26:59,339 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:26:59,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:26:59,340 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:26:59,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [147514759] [2022-04-28 06:26:59,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [147514759] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:26:59,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:26:59,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 06:26:59,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [369851665] [2022-04-28 06:26:59,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:26:59,340 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 100 [2022-04-28 06:26:59,341 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:26:59,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:26:59,395 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 06:26:59,395 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 06:26:59,395 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:26:59,396 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 06:26:59,396 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-28 06:26:59,396 INFO L87 Difference]: Start difference. First operand 158 states and 165 transitions. Second operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:27:00,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:27:00,077 INFO L93 Difference]: Finished difference Result 177 states and 184 transitions. [2022-04-28 06:27:00,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 06:27:00,077 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 100 [2022-04-28 06:27:00,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:27:00,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:27:00,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-28 06:27:00,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:27:00,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-28 06:27:00,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 77 transitions. [2022-04-28 06:27:00,163 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 06:27:00,165 INFO L225 Difference]: With dead ends: 177 [2022-04-28 06:27:00,165 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 06:27:00,165 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 96 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 06:27:00,166 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 7 mSDsluCounter, 61 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 06:27:00,166 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 112 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 06:27:00,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 06:27:00,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 127. [2022-04-28 06:27:00,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:27:00,406 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:27:00,406 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:27:00,407 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:27:00,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:27:00,409 INFO L93 Difference]: Finished difference Result 132 states and 138 transitions. [2022-04-28 06:27:00,409 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 138 transitions. [2022-04-28 06:27:00,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:27:00,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:27:00,409 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 132 states. [2022-04-28 06:27:00,410 INFO L87 Difference]: Start difference. First operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) Second operand 132 states. [2022-04-28 06:27:00,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:27:00,412 INFO L93 Difference]: Finished difference Result 132 states and 138 transitions. [2022-04-28 06:27:00,412 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 138 transitions. [2022-04-28 06:27:00,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:27:00,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:27:00,412 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:27:00,412 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:27:00,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 84 states have (on average 1.0476190476190477) internal successors, (88), 86 states have internal predecessors, (88), 23 states have call successors, (23), 20 states have call predecessors, (23), 19 states have return successors, (21), 20 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 06:27:00,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 132 transitions. [2022-04-28 06:27:00,415 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 132 transitions. Word has length 100 [2022-04-28 06:27:00,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:27:00,415 INFO L495 AbstractCegarLoop]: Abstraction has 127 states and 132 transitions. [2022-04-28 06:27:00,415 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.2) internal successors, (31), 5 states have internal predecessors, (31), 4 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 06:27:00,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 132 transitions. [2022-04-28 06:27:00,725 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:27:00,725 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 132 transitions. [2022-04-28 06:27:00,726 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 06:27:00,726 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:27:00,726 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:27:00,751 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 06:27:00,927 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,SelfDestructingSolverStorable22 [2022-04-28 06:27:00,927 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:27:00,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:27:00,927 INFO L85 PathProgramCache]: Analyzing trace with hash -392782949, now seen corresponding path program 7 times [2022-04-28 06:27:00,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:27:00,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1154870158] [2022-04-28 06:27:08,481 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 06:27:08,482 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-28 06:27:08,482 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 06:27:08,482 INFO L85 PathProgramCache]: Analyzing trace with hash -392782949, now seen corresponding path program 8 times [2022-04-28 06:27:08,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:27:08,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1117602866] [2022-04-28 06:27:08,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:27:08,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:27:08,502 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:27:08,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [946537929] [2022-04-28 06:27:08,502 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:27:08,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:27:08,502 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:27:08,504 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 06:27:08,516 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 06:27:08,570 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:27:08,571 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-28 06:27:08,571 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-28 06:27:08,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-28 06:27:08,632 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-28 06:27:08,632 INFO L130 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found a feasible trace [2022-04-28 06:27:08,632 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-28 06:27:08,635 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 06:27:08,660 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 06:27:08,855 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,SelfDestructingSolverStorable23 [2022-04-28 06:27:08,858 INFO L356 BasicCegarLoop]: Path program histogram: [10, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 06:27:08,861 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 06:27:08,879 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 06:27:08,879 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-28 06:27:08,879 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-28 06:27:08,879 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-28 06:27:08,879 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-28 06:27:08,879 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-28 06:27:08,879 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-28 06:27:08,879 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L28-1 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: L35-3 has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 06:27:08,880 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L53-2 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L53-2 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L36-1 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L46-1 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L46-1 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L60 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L45-2 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L45-2 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-28 06:27:08,881 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-28 06:27:08,882 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-28 06:27:08,882 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-28 06:27:08,882 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-28 06:27:08,882 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-28 06:27:08,882 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-28 06:27:08,882 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-28 06:27:08,882 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 06:27:08,883 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 06:27:08 BoogieIcfgContainer [2022-04-28 06:27:08,883 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 06:27:08,884 INFO L158 Benchmark]: Toolchain (without parser) took 690587.53ms. Allocated memory was 187.7MB in the beginning and 225.4MB in the end (delta: 37.7MB). Free memory was 138.7MB in the beginning and 190.7MB in the end (delta: -52.0MB). Peak memory consumption was 111.7MB. Max. memory is 8.0GB. [2022-04-28 06:27:08,884 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 187.7MB. Free memory was 155.1MB in the beginning and 155.1MB in the end (delta: 69.7kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 06:27:08,884 INFO L158 Benchmark]: CACSL2BoogieTranslator took 261.17ms. Allocated memory is still 187.7MB. Free memory was 138.5MB in the beginning and 162.6MB in the end (delta: -24.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 06:27:08,884 INFO L158 Benchmark]: Boogie Preprocessor took 29.26ms. Allocated memory is still 187.7MB. Free memory was 162.6MB in the beginning and 161.1MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 06:27:08,888 INFO L158 Benchmark]: RCFGBuilder took 302.99ms. Allocated memory is still 187.7MB. Free memory was 161.1MB in the beginning and 149.6MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 06:27:08,888 INFO L158 Benchmark]: TraceAbstraction took 689989.15ms. Allocated memory was 187.7MB in the beginning and 225.4MB in the end (delta: 37.7MB). Free memory was 149.1MB in the beginning and 190.7MB in the end (delta: -41.6MB). Peak memory consumption was 123.8MB. Max. memory is 8.0GB. [2022-04-28 06:27:08,889 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 187.7MB. Free memory was 155.1MB in the beginning and 155.1MB in the end (delta: 69.7kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 261.17ms. Allocated memory is still 187.7MB. Free memory was 138.5MB in the beginning and 162.6MB in the end (delta: -24.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 29.26ms. Allocated memory is still 187.7MB. Free memory was 162.6MB in the beginning and 161.1MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 302.99ms. Allocated memory is still 187.7MB. Free memory was 161.1MB in the beginning and 149.6MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 689989.15ms. Allocated memory was 187.7MB in the beginning and 225.4MB in the end (delta: 37.7MB). Free memory was 149.1MB in the beginning and 190.7MB in the end (delta: -41.6MB). Peak memory consumption was 123.8MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 17]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L22] int counter = 0; [L24] unsigned int A, B; [L25] long long r, d, p, q; [L26] A = __VERIFIER_nondet_uint() [L27] B = __VERIFIER_nondet_uint() [L28] CALL assume_abort_if_not(B >= 1) [L12] COND FALSE !(!cond) [L28] RET assume_abort_if_not(B >= 1) [L30] r = A [L31] d = B [L32] p = 1 [L33] q = 0 [L35] EXPR counter++ [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) [L15] COND FALSE !(!(cond)) [L36] RET __VERIFIER_assert(q == 0) [L37] CALL __VERIFIER_assert(r == A) [L15] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(r == A) [L38] CALL __VERIFIER_assert(d == B * p) [L15] COND FALSE !(!(cond)) [L38] RET __VERIFIER_assert(d == B * p) [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p [L35] EXPR counter++ [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) [L15] COND FALSE !(!(cond)) [L36] RET __VERIFIER_assert(q == 0) [L37] CALL __VERIFIER_assert(r == A) [L15] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(r == A) [L38] CALL __VERIFIER_assert(d == B * p) [L15] COND FALSE !(!(cond)) [L38] RET __VERIFIER_assert(d == B * p) [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p [L35] EXPR counter++ [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) [L15] COND FALSE !(!(cond)) [L36] RET __VERIFIER_assert(q == 0) [L37] CALL __VERIFIER_assert(r == A) [L15] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(r == A) [L38] CALL __VERIFIER_assert(d == B * p) [L15] COND FALSE !(!(cond)) [L38] RET __VERIFIER_assert(d == B * p) [L39] COND FALSE !(!(r >= d)) [L41] d = 2 * d [L42] p = 2 * p [L35] EXPR counter++ [L35] COND TRUE counter++<5 [L36] CALL __VERIFIER_assert(q == 0) [L15] COND FALSE !(!(cond)) [L36] RET __VERIFIER_assert(q == 0) [L37] CALL __VERIFIER_assert(r == A) [L15] COND FALSE !(!(cond)) [L37] RET __VERIFIER_assert(r == A) [L38] CALL __VERIFIER_assert(d == B * p) [L15] COND FALSE !(!(cond)) [L38] RET __VERIFIER_assert(d == B * p) [L39] COND TRUE !(r >= d) [L45] EXPR counter++ [L45] COND TRUE counter++<5 [L46] CALL __VERIFIER_assert(A == q*B + r) [L15] COND FALSE !(!(cond)) [L46] RET __VERIFIER_assert(A == q*B + r) [L47] CALL __VERIFIER_assert(d == B*p) [L15] COND FALSE !(!(cond)) [L47] RET __VERIFIER_assert(d == B*p) [L49] COND FALSE !(!(p != 1)) [L51] d = d / 2 [L52] p = p / 2 [L53] COND TRUE r >= d [L54] r = r - d [L55] q = q + p [L45] EXPR counter++ [L45] COND FALSE !(counter++<5) [L59] CALL __VERIFIER_assert(A == d*q + r) [L15] COND TRUE !(cond) [L17] reach_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 689.9s, OverallIterations: 24, TraceHistogramMax: 15, PathProgramHistogramMax: 10, EmptinessCheckTime: 0.0s, AutomataDifference: 48.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 3 mSolverCounterUnknown, 514 SdHoareTripleChecker+Valid, 19.6s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 446 mSDsluCounter, 3936 SdHoareTripleChecker+Invalid, 19.6s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 5 IncrementalHoareTripleChecker+Unchecked, 2810 mSDsCounter, 303 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2595 IncrementalHoareTripleChecker+Invalid, 2906 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 303 mSolverCounterUnsat, 1126 mSDtfsCounter, 2595 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 2541 GetRequests, 2316 SyntacticMatches, 21 SemanticMatches, 204 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 338 ImplicationChecksByTransitivity, 28.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=207occurred in iteration=20, InterpolantAutomatonStates: 177, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 3.2s AutomataMinimizationTime, 23 MinimizatonAttempts, 51 StatesRemovedByMinimization, 15 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-28 06:27:09,123 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process [2022-04-28 06:27:09,147 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 137 Received shutdown request...