/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:56:41,187 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:56:41,189 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:56:41,228 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:56:41,229 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:56:41,229 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:56:41,231 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:56:41,256 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:56:41,257 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:56:41,258 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:56:41,259 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:56:41,260 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:56:41,260 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:56:41,261 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:56:41,261 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:56:41,262 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:56:41,263 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:56:41,264 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:56:41,265 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:56:41,266 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:56:41,267 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:56:41,268 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:56:41,269 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:56:41,269 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:56:41,270 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:56:41,272 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:56:41,272 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:56:41,273 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:56:41,273 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:56:41,274 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:56:41,274 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:56:41,275 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:56:41,275 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:56:41,276 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:56:41,276 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:56:41,277 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:56:41,277 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:56:41,278 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:56:41,278 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:56:41,278 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:56:41,279 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:56:41,279 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:56:41,280 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:56:41,287 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:56:41,288 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:56:41,289 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:56:41,289 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:56:41,289 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:56:41,289 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:56:41,289 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:56:41,289 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:56:41,289 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:56:41,289 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:56:41,290 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:56:41,290 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:56:41,290 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:56:41,290 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:56:41,290 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:56:41,290 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:56:41,290 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:56:41,290 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:56:41,291 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:56:41,291 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:56:41,291 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:56:41,291 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:56:41,291 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 12:56:41,473 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:56:41,490 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:56:41,492 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:56:41,492 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:56:41,493 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:56:41,494 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound100.c [2022-04-28 12:56:41,556 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/df3a0883b/f3038dba37804bf6b4331002662fbe59/FLAG1db7836cd [2022-04-28 12:56:41,946 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:56:41,946 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound100.c [2022-04-28 12:56:41,951 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/df3a0883b/f3038dba37804bf6b4331002662fbe59/FLAG1db7836cd [2022-04-28 12:56:42,369 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/df3a0883b/f3038dba37804bf6b4331002662fbe59 [2022-04-28 12:56:42,371 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:56:42,372 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:56:42,373 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:56:42,373 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:56:42,375 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:56:42,376 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,377 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ad118f7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42, skipping insertion in model container [2022-04-28 12:56:42,377 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,384 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:56:42,399 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:56:42,568 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_valuebound100.c[538,551] [2022-04-28 12:56:42,598 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:56:42,612 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:56:42,622 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_valuebound100.c[538,551] [2022-04-28 12:56:42,644 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:56:42,655 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:56:42,656 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42 WrapperNode [2022-04-28 12:56:42,656 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:56:42,657 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:56:42,657 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:56:42,657 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:56:42,667 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,667 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,673 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,673 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,687 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,692 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,700 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,702 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:56:42,702 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:56:42,702 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:56:42,703 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:56:42,705 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (1/1) ... [2022-04-28 12:56:42,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:56:42,720 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:42,732 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 12:56:42,747 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 12:56:42,779 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:56:42,779 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:56:42,779 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:56:42,780 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:56:42,780 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:56:42,780 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:56:42,780 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:56:42,780 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:56:42,781 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:56:42,781 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:56:42,781 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 12:56:42,781 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:56:42,781 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:56:42,781 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:56:42,782 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:56:42,783 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:56:42,783 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:56:42,783 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:56:42,783 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:56:42,783 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:56:42,841 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:56:42,842 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:56:43,033 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:56:43,051 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:56:43,052 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:56:43,053 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:56:43 BoogieIcfgContainer [2022-04-28 12:56:43,053 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:56:43,055 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:56:43,055 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:56:43,061 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:56:43,061 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:56:42" (1/3) ... [2022-04-28 12:56:43,062 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1f1f1d9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:56:43, skipping insertion in model container [2022-04-28 12:56:43,062 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:42" (2/3) ... [2022-04-28 12:56:43,062 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1f1f1d9e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:56:43, skipping insertion in model container [2022-04-28 12:56:43,063 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:56:43" (3/3) ... [2022-04-28 12:56:43,069 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound100.c [2022-04-28 12:56:43,080 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:56:43,080 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:56:43,127 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:56:43,132 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@206e9093, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3705f229 [2022-04-28 12:56:43,132 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:56:43,138 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:56:43,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:56:43,145 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:43,146 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:43,146 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:43,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:43,153 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-28 12:56:43,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:43,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [54199533] [2022-04-28 12:56:43,176 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:43,176 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-28 12:56:43,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:43,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [149635316] [2022-04-28 12:56:43,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:43,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:43,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:43,379 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:43,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:43,407 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {41#true} is VALID [2022-04-28 12:56:43,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 12:56:43,408 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 12:56:43,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:43,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:43,418 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:43,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:43,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:43,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 12:56:43,420 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:56:43,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:43,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:43,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:43,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:43,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 12:56:43,448 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:56:43,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:43,457 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:43,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:43,458 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:43,458 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 12:56:43,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:56:43,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {41#true} is VALID [2022-04-28 12:56:43,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 12:56:43,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 12:56:43,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-28 12:56:43,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#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; {41#true} is VALID [2022-04-28 12:56:43,462 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {41#true} is VALID [2022-04-28 12:56:43,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:43,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:43,463 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:43,463 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 12:56:43,463 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-28 12:56:43,464 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {41#true} is VALID [2022-04-28 12:56:43,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:43,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:43,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:43,466 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 12:56:43,466 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-28 12:56:43,466 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:43,467 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:43,467 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:43,467 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 12:56:43,467 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-28 12:56:43,469 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 12:56:43,469 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-28 12:56:43,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-28 12:56:43,470 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-28 12:56:43,470 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 12:56:43,470 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:56:43,471 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:43,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [149635316] [2022-04-28 12:56:43,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [149635316] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:43,472 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:43,473 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:56:43,475 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:43,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [54199533] [2022-04-28 12:56:43,475 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [54199533] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:43,476 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:43,476 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:56:43,476 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1266961756] [2022-04-28 12:56:43,477 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:43,482 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 12:56:43,484 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:43,487 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:43,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:43,526 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:56:43,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:43,548 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:56:43,549 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:56:43,552 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:43,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:43,750 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-28 12:56:43,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:56:43,750 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 12:56:43,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:43,751 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:43,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 12:56:43,763 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:43,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 12:56:43,774 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-28 12:56:43,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:43,902 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:56:43,903 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 12:56:43,905 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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 12:56:43,908 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:43,909 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:56:43,918 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 12:56:43,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-28 12:56:43,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:43,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:43,933 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:43,933 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:43,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:43,938 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:56:43,938 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:56:43,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:43,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:43,940 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-28 12:56:43,940 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-28 12:56:43,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:43,944 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:56:43,944 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:56:43,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:43,945 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:43,945 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:43,945 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:43,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:43,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-28 12:56:43,949 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-28 12:56:43,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:43,950 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-28 12:56:43,950 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, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:43,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-28 12:56:44,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:44,011 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:56:44,013 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:56:44,013 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:44,013 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:44,014 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:56:44,015 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:44,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:44,016 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-28 12:56:44,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:44,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1549066481] [2022-04-28 12:56:44,018 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:44,018 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-28 12:56:44,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:44,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [498796309] [2022-04-28 12:56:44,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:44,022 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:44,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:44,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:44,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:44,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {331#true} is VALID [2022-04-28 12:56:44,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:44,122 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 12:56:44,122 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:44,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:44,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:44,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:44,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:44,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 12:56:44,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:56:44,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:44,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:44,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:44,142 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:44,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 12:56:44,143 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:56:44,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:44,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:44,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:44,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:44,152 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 12:56:44,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:56:44,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {331#true} is VALID [2022-04-28 12:56:44,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:44,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 12:56:44,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-28 12:56:44,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#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; {331#true} is VALID [2022-04-28 12:56:44,154 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {331#true} is VALID [2022-04-28 12:56:44,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:44,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:44,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:44,155 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 12:56:44,155 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-28 12:56:44,155 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {331#true} is VALID [2022-04-28 12:56:44,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:44,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:44,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:44,156 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 12:56:44,156 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-28 12:56:44,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:44,157 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:44,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:44,158 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 12:56:44,158 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-28 12:56:44,159 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-28 12:56:44,159 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:56:44,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:56:44,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-28 12:56:44,161 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-28 12:56:44,161 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:56:44,161 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:44,161 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [498796309] [2022-04-28 12:56:44,162 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [498796309] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:44,162 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:44,162 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:44,162 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:44,162 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1549066481] [2022-04-28 12:56:44,162 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1549066481] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:44,162 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:44,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:44,163 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [968200207] [2022-04-28 12:56:44,163 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:44,164 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 12:56:44,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:44,164 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:44,184 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:44,184 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:56:44,184 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:44,185 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:56:44,185 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:56:44,185 INFO L87 Difference]: Start difference. First operand 33 states and 43 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:44,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:44,770 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-28 12:56:44,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:56:44,771 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 12:56:44,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:44,775 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:44,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:56:44,783 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:44,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:56:44,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 12:56:44,866 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 12:56:44,869 INFO L225 Difference]: With dead ends: 46 [2022-04-28 12:56:44,869 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 12:56:44,870 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:56:44,873 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:44,873 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:56:44,875 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 12:56:44,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-28 12:56:44,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:44,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:44,886 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:44,886 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:44,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:44,889 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 12:56:44,889 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 12:56:44,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:44,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:44,891 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-28 12:56:44,891 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-28 12:56:44,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:44,894 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 12:56:44,894 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 12:56:44,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:44,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:44,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:44,896 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:44,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:44,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-28 12:56:44,898 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-28 12:56:44,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:44,898 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-28 12:56:44,899 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:44,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-28 12:56:44,954 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 12:56:44,955 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-28 12:56:44,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:56:44,956 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:44,956 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:44,956 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 12:56:44,956 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:44,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:44,957 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-28 12:56:44,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:44,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1600663530] [2022-04-28 12:56:44,957 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:44,958 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-28 12:56:44,958 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:44,958 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1155522983] [2022-04-28 12:56:44,958 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:44,958 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:44,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:45,040 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:45,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:45,052 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {616#true} is VALID [2022-04-28 12:56:45,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,053 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 12:56:45,053 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:45,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:45,064 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:45,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:45,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 12:56:45,065 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:56:45,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:45,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:45,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:45,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 12:56:45,078 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:56:45,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:45,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:45,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:45,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,087 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 12:56:45,088 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 12:56:45,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:45,105 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:45,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:45,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:45,107 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:56:45,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {616#true} is VALID [2022-04-28 12:56:45,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 12:56:45,108 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-28 12:56:45,108 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#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; {616#true} is VALID [2022-04-28 12:56:45,108 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {616#true} is VALID [2022-04-28 12:56:45,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:45,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:45,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 12:56:45,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-28 12:56:45,109 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {616#true} is VALID [2022-04-28 12:56:45,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:45,110 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:45,113 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,114 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 12:56:45,114 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-28 12:56:45,114 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:45,114 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:45,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,115 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 12:56:45,119 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:45,120 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:45,121 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-28 12:56:45,121 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:45,121 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:45,121 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:45,123 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:45,124 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= 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)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:56:45,125 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:56:45,125 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-28 12:56:45,125 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-28 12:56:45,126 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:56:45,126 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:45,126 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1155522983] [2022-04-28 12:56:45,126 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1155522983] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:45,126 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:45,126 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:45,127 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:45,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1600663530] [2022-04-28 12:56:45,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1600663530] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:45,129 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:45,129 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:45,129 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1104714627] [2022-04-28 12:56:45,129 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:45,130 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, (7), 3 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 33 [2022-04-28 12:56:45,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:45,130 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, (7), 3 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 12:56:45,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:45,156 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:56:45,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:45,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:56:45,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:56:45,157 INFO L87 Difference]: Start difference. First operand 37 states and 46 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, (7), 3 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 12:56:45,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:45,663 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-28 12:56:45,663 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:56:45,663 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, (7), 3 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 33 [2022-04-28 12:56:45,665 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:45,665 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, (7), 3 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 12:56:45,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:56:45,668 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, (7), 3 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 12:56:45,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:56:45,672 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 12:56:45,745 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 12:56:45,747 INFO L225 Difference]: With dead ends: 50 [2022-04-28 12:56:45,747 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 12:56:45,747 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 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 12:56:45,748 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:45,749 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:56:45,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 12:56:45,757 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-28 12:56:45,757 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:45,758 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:45,758 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:45,759 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:45,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:45,761 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 12:56:45,762 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 12:56:45,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:45,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:45,763 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-28 12:56:45,763 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-28 12:56:45,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:45,766 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 12:56:45,766 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 12:56:45,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:45,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:45,767 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:45,767 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:45,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:45,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 12:56:45,769 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-28 12:56:45,769 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:45,769 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 12:56:45,770 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, (7), 3 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 12:56:45,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 12:56:45,822 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 12:56:45,822 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 12:56:45,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 12:56:45,823 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:45,824 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:45,824 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 12:56:45,827 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:45,827 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:45,827 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-28 12:56:45,827 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:45,827 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1044439185] [2022-04-28 12:56:45,828 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:45,828 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-28 12:56:45,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:45,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [395428257] [2022-04-28 12:56:45,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:45,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:45,846 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:45,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [326289801] [2022-04-28 12:56:45,847 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:45,847 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:45,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:45,848 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 12:56:45,872 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 12:56:45,900 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:45,900 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:45,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:56:45,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:45,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:46,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-28 12:56:46,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {929#true} is VALID [2022-04-28 12:56:46,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:46,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-28 12:56:46,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-28 12:56:46,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#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; {929#true} is VALID [2022-04-28 12:56:46,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:46,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:56:46,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:56:46,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:46,215 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-28 12:56:46,216 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-28 12:56:46,216 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:46,216 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:56:46,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:56:46,216 INFO L290 TraceCheckUtils]: 15: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:46,217 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {929#true} {929#true} #83#return; {929#true} is VALID [2022-04-28 12:56:46,217 INFO L272 TraceCheckUtils]: 17: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:46,217 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:56:46,217 INFO L290 TraceCheckUtils]: 19: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:56:46,217 INFO L290 TraceCheckUtils]: 20: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:46,217 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {929#true} {929#true} #85#return; {929#true} is VALID [2022-04-28 12:56:46,218 INFO L290 TraceCheckUtils]: 22: Hoare triple {929#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:46,219 INFO L290 TraceCheckUtils]: 23: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:46,219 INFO L272 TraceCheckUtils]: 24: Hoare triple {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:46,219 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:56:46,219 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:56:46,219 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:46,220 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:46,220 INFO L272 TraceCheckUtils]: 29: Hoare triple {1000#(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)); {929#true} is VALID [2022-04-28 12:56:46,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:56:46,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:56:46,233 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:46,234 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1000#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:46,235 INFO L272 TraceCheckUtils]: 34: Hoare triple {1000#(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)); {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:46,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {1037#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1041#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:46,237 INFO L290 TraceCheckUtils]: 36: Hoare triple {1041#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-28 12:56:46,237 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-28 12:56:46,237 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:56:46,237 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:56:46,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:46,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [395428257] [2022-04-28 12:56:46,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:46,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [326289801] [2022-04-28 12:56:46,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [326289801] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:46,238 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:46,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:46,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:46,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1044439185] [2022-04-28 12:56:46,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1044439185] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:46,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:46,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:46,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1938015421] [2022-04-28 12:56:46,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:46,240 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-28 12:56:46,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:46,241 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:56:46,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:46,264 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:46,264 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:46,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:46,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:56:46,265 INFO L87 Difference]: Start difference. First operand 41 states and 49 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:56:46,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:46,495 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-28 12:56:46,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:46,496 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-28 12:56:46,496 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:46,496 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:56:46,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-28 12:56:46,498 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:56:46,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-28 12:56:46,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-28 12:56:46,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:46,583 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:56:46,583 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 12:56:46,584 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 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 12:56:46,585 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 145 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:46,585 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 145 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:56:46,586 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 12:56:46,638 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-28 12:56:46,638 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:46,638 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:46,639 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:46,639 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:46,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:46,645 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 12:56:46,645 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:56:46,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:46,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:46,646 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-28 12:56:46,647 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-28 12:56:46,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:46,649 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 12:56:46,649 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:56:46,650 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:46,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:46,650 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:46,650 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:46,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:46,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-28 12:56:46,653 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-28 12:56:46,653 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:46,653 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-28 12:56:46,653 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 12:56:46,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-28 12:56:46,732 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:46,733 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:56:46,735 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 12:56:46,735 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:46,735 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:46,762 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 12:56:46,951 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:46,951 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:46,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:46,952 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-28 12:56:46,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:46,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1286947424] [2022-04-28 12:56:46,953 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:46,953 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-28 12:56:46,953 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:46,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1496466802] [2022-04-28 12:56:46,953 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:46,953 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:46,972 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:46,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [891582305] [2022-04-28 12:56:46,972 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:46,973 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:46,973 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:46,976 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 12:56:46,983 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 12:56:47,021 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:47,022 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:47,023 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:56:47,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:47,045 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:48,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-28 12:56:48,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {1407#true} is VALID [2022-04-28 12:56:48,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-28 12:56:48,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-28 12:56:48,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#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; {1407#true} is VALID [2022-04-28 12:56:48,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-28 12:56:48,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-28 12:56:48,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,421 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:48,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {1451#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:48,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {1455#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1455#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:48,423 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1455#(not (= |assume_abort_if_not_#in~cond| 0))} {1407#true} #83#return; {1462#(<= (mod main_~B~0 4294967296) 100)} is VALID [2022-04-28 12:56:48,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 100)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,424 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,424 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1462#(<= (mod main_~B~0 4294967296) 100)} #85#return; {1462#(<= (mod main_~B~0 4294967296) 100)} is VALID [2022-04-28 12:56:48,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {1462#(<= (mod main_~B~0 4294967296) 100)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-28 12:56:48,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} assume !false; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-28 12:56:48,426 INFO L272 TraceCheckUtils]: 24: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,426 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,426 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,427 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} #87#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-28 12:56:48,427 INFO L272 TraceCheckUtils]: 29: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,427 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,428 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} #89#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-28 12:56:48,428 INFO L272 TraceCheckUtils]: 34: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,428 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,428 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,429 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,429 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} #91#return; {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-28 12:56:48,430 INFO L290 TraceCheckUtils]: 39: Hoare triple {1481#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} assume !(~r~0 >= ~d~0); {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-28 12:56:48,431 INFO L290 TraceCheckUtils]: 40: Hoare triple {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} assume !false; {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} is VALID [2022-04-28 12:56:48,432 INFO L272 TraceCheckUtils]: 41: Hoare triple {1533#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 100))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:48,432 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:48,433 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-28 12:56:48,433 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-28 12:56:48,433 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 12:56:48,433 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:48,892 INFO L290 TraceCheckUtils]: 44: Hoare triple {1408#false} assume !false; {1408#false} is VALID [2022-04-28 12:56:48,893 INFO L290 TraceCheckUtils]: 43: Hoare triple {1544#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1408#false} is VALID [2022-04-28 12:56:48,893 INFO L290 TraceCheckUtils]: 42: Hoare triple {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1544#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:48,894 INFO L272 TraceCheckUtils]: 41: Hoare triple {1560#(= (+ 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)); {1540#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:48,895 INFO L290 TraceCheckUtils]: 40: Hoare triple {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:56:48,895 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1560#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:56:48,896 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:48,896 INFO L290 TraceCheckUtils]: 37: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,896 INFO L290 TraceCheckUtils]: 36: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,897 INFO L290 TraceCheckUtils]: 35: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,897 INFO L272 TraceCheckUtils]: 34: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~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)); {1407#true} is VALID [2022-04-28 12:56:48,898 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:48,899 INFO L290 TraceCheckUtils]: 32: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,899 INFO L290 TraceCheckUtils]: 30: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,899 INFO L272 TraceCheckUtils]: 29: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,900 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1407#true} {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:48,900 INFO L290 TraceCheckUtils]: 27: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,900 INFO L290 TraceCheckUtils]: 26: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,900 INFO L290 TraceCheckUtils]: 25: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,900 INFO L272 TraceCheckUtils]: 24: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,901 INFO L290 TraceCheckUtils]: 23: Hoare triple {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:48,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {1407#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1567#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:48,902 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1407#true} {1407#true} #85#return; {1407#true} is VALID [2022-04-28 12:56:48,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,902 INFO L290 TraceCheckUtils]: 19: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,903 INFO L290 TraceCheckUtils]: 18: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,903 INFO L272 TraceCheckUtils]: 17: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,903 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1407#true} {1407#true} #83#return; {1407#true} is VALID [2022-04-28 12:56:48,903 INFO L290 TraceCheckUtils]: 15: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,904 INFO L272 TraceCheckUtils]: 12: Hoare triple {1407#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {1407#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1407#true} is VALID [2022-04-28 12:56:48,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1407#true} {1407#true} #81#return; {1407#true} is VALID [2022-04-28 12:56:48,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {1407#true} assume !(0 == ~cond); {1407#true} is VALID [2022-04-28 12:56:48,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {1407#true} ~cond := #in~cond; {1407#true} is VALID [2022-04-28 12:56:48,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {1407#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {1407#true} is VALID [2022-04-28 12:56:48,905 INFO L290 TraceCheckUtils]: 5: Hoare triple {1407#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; {1407#true} is VALID [2022-04-28 12:56:48,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {1407#true} call #t~ret6 := main(); {1407#true} is VALID [2022-04-28 12:56:48,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1407#true} {1407#true} #101#return; {1407#true} is VALID [2022-04-28 12:56:48,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {1407#true} assume true; {1407#true} is VALID [2022-04-28 12:56:48,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {1407#true} is VALID [2022-04-28 12:56:48,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {1407#true} call ULTIMATE.init(); {1407#true} is VALID [2022-04-28 12:56:48,906 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:56:48,906 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:48,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1496466802] [2022-04-28 12:56:48,906 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:48,906 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [891582305] [2022-04-28 12:56:48,906 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [891582305] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:56:48,906 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:56:48,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-28 12:56:48,907 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:48,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1286947424] [2022-04-28 12:56:48,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1286947424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:48,907 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:48,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:48,907 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [493718511] [2022-04-28 12:56:48,907 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:48,908 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-28 12:56:48,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:48,908 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:48,939 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:48,939 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:56:48,939 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:48,940 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:56:48,940 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:56:48,940 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:49,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:49,224 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-28 12:56:49,225 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:49,225 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-28 12:56:49,225 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:49,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:49,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 12:56:49,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:49,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 12:56:49,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 12:56:49,278 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 12:56:49,280 INFO L225 Difference]: With dead ends: 68 [2022-04-28 12:56:49,280 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 12:56:49,280 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:56:49,281 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:49,281 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 128 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:56:49,282 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 12:56:49,301 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-28 12:56:49,301 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:49,301 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:56:49,302 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:56:49,302 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:56:49,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:49,306 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-28 12:56:49,306 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-28 12:56:49,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:49,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:49,307 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-28 12:56:49,307 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-28 12:56:49,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:49,310 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-28 12:56:49,310 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-28 12:56:49,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:49,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:49,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:49,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:49,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:56:49,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-28 12:56:49,315 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-28 12:56:49,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:49,315 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-28 12:56:49,315 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:49,315 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 80 transitions. [2022-04-28 12:56:49,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:49,426 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-28 12:56:49,426 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 12:56:49,426 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:49,426 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 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 12:56:49,445 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 12:56:49,635 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 12:56:49,636 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:49,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:49,636 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-28 12:56:49,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:49,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [416447418] [2022-04-28 12:56:49,636 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:49,637 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-28 12:56:49,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:49,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1889905188] [2022-04-28 12:56:49,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:49,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:49,649 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:49,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [395693196] [2022-04-28 12:56:49,650 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:49,650 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:49,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:49,656 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 12:56:49,676 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 12:56:49,714 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:49,715 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:49,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 12:56:49,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:49,727 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:50,486 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-28 12:56:50,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {2085#true} is VALID [2022-04-28 12:56:50,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-28 12:56:50,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-28 12:56:50,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {2085#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; {2085#true} is VALID [2022-04-28 12:56:50,488 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,488 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-28 12:56:50,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-28 12:56:50,488 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,489 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-28 12:56:50,489 INFO L272 TraceCheckUtils]: 17: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2144#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:50,490 INFO L290 TraceCheckUtils]: 19: Hoare triple {2144#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2148#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:50,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {2148#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2148#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:50,491 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2148#(not (= |assume_abort_if_not_#in~cond| 0))} {2085#true} #85#return; {2155#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-28 12:56:50,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:50,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:50,492 INFO L272 TraceCheckUtils]: 24: Hoare triple {2159#(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)); {2085#true} is VALID [2022-04-28 12:56:50,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,492 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,493 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,493 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:50,493 INFO L272 TraceCheckUtils]: 29: Hoare triple {2159#(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)); {2085#true} is VALID [2022-04-28 12:56:50,493 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,493 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,493 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,495 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:50,495 INFO L272 TraceCheckUtils]: 34: Hoare triple {2159#(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)); {2085#true} is VALID [2022-04-28 12:56:50,496 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,496 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,496 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,497 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2085#true} {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2159#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:50,498 INFO L290 TraceCheckUtils]: 39: Hoare triple {2159#(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; {2211#(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 12:56:50,498 INFO L290 TraceCheckUtils]: 40: Hoare triple {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2211#(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 12:56:50,499 INFO L272 TraceCheckUtils]: 41: Hoare triple {2211#(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)); {2085#true} is VALID [2022-04-28 12:56:50,499 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,499 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,499 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,503 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2085#true} {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2211#(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 12:56:50,504 INFO L272 TraceCheckUtils]: 46: Hoare triple {2211#(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)); {2085#true} is VALID [2022-04-28 12:56:50,504 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,504 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,504 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,505 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2085#true} {2211#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2211#(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 12:56:50,505 INFO L272 TraceCheckUtils]: 51: Hoare triple {2211#(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)); {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:50,506 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:50,506 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-28 12:56:50,506 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-28 12:56:50,507 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-28 12:56:50,507 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:50,914 INFO L290 TraceCheckUtils]: 54: Hoare triple {2086#false} assume !false; {2086#false} is VALID [2022-04-28 12:56:50,914 INFO L290 TraceCheckUtils]: 53: Hoare triple {2252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2086#false} is VALID [2022-04-28 12:56:50,915 INFO L290 TraceCheckUtils]: 52: Hoare triple {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:50,916 INFO L272 TraceCheckUtils]: 51: Hoare triple {2268#(= 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)); {2248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:50,917 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,917 INFO L290 TraceCheckUtils]: 49: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,917 INFO L290 TraceCheckUtils]: 48: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,917 INFO L290 TraceCheckUtils]: 47: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,917 INFO L272 TraceCheckUtils]: 46: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,918 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,918 INFO L290 TraceCheckUtils]: 44: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,918 INFO L290 TraceCheckUtils]: 43: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,918 INFO L290 TraceCheckUtils]: 42: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,918 INFO L272 TraceCheckUtils]: 41: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {2268#(= 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; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,965 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,965 INFO L290 TraceCheckUtils]: 37: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,965 INFO L290 TraceCheckUtils]: 36: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,966 INFO L290 TraceCheckUtils]: 35: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,966 INFO L272 TraceCheckUtils]: 34: Hoare triple {2268#(= 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)); {2085#true} is VALID [2022-04-28 12:56:50,966 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,966 INFO L290 TraceCheckUtils]: 32: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,967 INFO L290 TraceCheckUtils]: 31: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,967 INFO L290 TraceCheckUtils]: 30: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,967 INFO L272 TraceCheckUtils]: 29: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,967 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2085#true} {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,968 INFO L290 TraceCheckUtils]: 27: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,968 INFO L290 TraceCheckUtils]: 26: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,968 INFO L272 TraceCheckUtils]: 24: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,968 INFO L290 TraceCheckUtils]: 23: Hoare triple {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,969 INFO L290 TraceCheckUtils]: 22: Hoare triple {2085#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2268#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:50,969 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2085#true} {2085#true} #85#return; {2085#true} is VALID [2022-04-28 12:56:50,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,970 INFO L272 TraceCheckUtils]: 17: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,970 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2085#true} {2085#true} #83#return; {2085#true} is VALID [2022-04-28 12:56:50,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,970 INFO L272 TraceCheckUtils]: 12: Hoare triple {2085#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {2085#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2085#true} is VALID [2022-04-28 12:56:50,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2085#true} {2085#true} #81#return; {2085#true} is VALID [2022-04-28 12:56:50,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,971 INFO L290 TraceCheckUtils]: 8: Hoare triple {2085#true} assume !(0 == ~cond); {2085#true} is VALID [2022-04-28 12:56:50,971 INFO L290 TraceCheckUtils]: 7: Hoare triple {2085#true} ~cond := #in~cond; {2085#true} is VALID [2022-04-28 12:56:50,971 INFO L272 TraceCheckUtils]: 6: Hoare triple {2085#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {2085#true} is VALID [2022-04-28 12:56:50,971 INFO L290 TraceCheckUtils]: 5: Hoare triple {2085#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; {2085#true} is VALID [2022-04-28 12:56:50,971 INFO L272 TraceCheckUtils]: 4: Hoare triple {2085#true} call #t~ret6 := main(); {2085#true} is VALID [2022-04-28 12:56:50,971 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2085#true} {2085#true} #101#return; {2085#true} is VALID [2022-04-28 12:56:50,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {2085#true} assume true; {2085#true} is VALID [2022-04-28 12:56:50,972 INFO L290 TraceCheckUtils]: 1: Hoare triple {2085#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {2085#true} is VALID [2022-04-28 12:56:50,972 INFO L272 TraceCheckUtils]: 0: Hoare triple {2085#true} call ULTIMATE.init(); {2085#true} is VALID [2022-04-28 12:56:50,972 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-28 12:56:50,972 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:50,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1889905188] [2022-04-28 12:56:50,972 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:50,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [395693196] [2022-04-28 12:56:50,973 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [395693196] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:56:50,973 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:56:50,973 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 12:56:50,973 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:50,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [416447418] [2022-04-28 12:56:50,973 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [416447418] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:50,973 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:50,973 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:50,974 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [71628438] [2022-04-28 12:56:50,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:50,974 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-28 12:56:50,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:50,975 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:51,003 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:51,004 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:51,004 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:51,004 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:51,004 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:56:51,004 INFO L87 Difference]: Start difference. First operand 64 states and 80 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:51,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:51,417 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-28 12:56:51,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:51,418 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-28 12:56:51,418 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:51,418 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:51,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 12:56:51,420 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:51,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 12:56:51,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 12:56:51,476 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 12:56:51,480 INFO L225 Difference]: With dead ends: 76 [2022-04-28 12:56:51,480 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 12:56:51,480 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 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 12:56:51,482 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:51,482 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:56:51,483 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 12:56:51,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-28 12:56:51,506 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:51,506 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:56:51,507 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:56:51,507 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:56:51,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:51,510 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-28 12:56:51,510 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-28 12:56:51,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:51,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:51,511 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-28 12:56:51,512 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-28 12:56:51,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:51,519 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-28 12:56:51,519 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-28 12:56:51,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:51,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:51,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:51,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:51,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-28 12:56:51,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-28 12:56:51,523 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-28 12:56:51,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:51,524 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-28 12:56:51,524 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:51,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 88 transitions. [2022-04-28 12:56:51,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:51,624 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-28 12:56:51,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 12:56:51,624 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:51,624 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:51,647 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 12:56:51,846 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 12:56:51,847 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:51,847 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:51,847 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-28 12:56:51,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:51,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1031208637] [2022-04-28 12:56:51,848 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:51,848 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 2 times [2022-04-28 12:56:51,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:51,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564158933] [2022-04-28 12:56:51,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:51,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:51,859 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:51,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1559334626] [2022-04-28 12:56:51,860 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:51,860 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:51,860 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:51,861 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 12:56:51,884 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 12:56:51,905 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:51,905 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:51,905 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:56:51,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:51,917 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:54,910 INFO L272 TraceCheckUtils]: 0: Hoare triple {2868#true} call ULTIMATE.init(); {2868#true} is VALID [2022-04-28 12:56:54,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {2868#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {2868#true} is VALID [2022-04-28 12:56:54,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2868#true} {2868#true} #101#return; {2868#true} is VALID [2022-04-28 12:56:54,911 INFO L272 TraceCheckUtils]: 4: Hoare triple {2868#true} call #t~ret6 := main(); {2868#true} is VALID [2022-04-28 12:56:54,911 INFO L290 TraceCheckUtils]: 5: Hoare triple {2868#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; {2868#true} is VALID [2022-04-28 12:56:54,911 INFO L272 TraceCheckUtils]: 6: Hoare triple {2868#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {2868#true} is VALID [2022-04-28 12:56:54,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 12:56:54,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 12:56:54,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,912 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2868#true} {2868#true} #81#return; {2868#true} is VALID [2022-04-28 12:56:54,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {2868#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2868#true} is VALID [2022-04-28 12:56:54,912 INFO L272 TraceCheckUtils]: 12: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {2868#true} is VALID [2022-04-28 12:56:54,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 12:56:54,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 12:56:54,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,913 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2868#true} {2868#true} #83#return; {2868#true} is VALID [2022-04-28 12:56:54,913 INFO L272 TraceCheckUtils]: 17: Hoare triple {2868#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2868#true} is VALID [2022-04-28 12:56:54,913 INFO L290 TraceCheckUtils]: 18: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 12:56:54,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 12:56:54,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,913 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2868#true} {2868#true} #85#return; {2868#true} is VALID [2022-04-28 12:56:54,914 INFO L290 TraceCheckUtils]: 22: Hoare triple {2868#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,914 INFO L290 TraceCheckUtils]: 23: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,914 INFO L272 TraceCheckUtils]: 24: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2868#true} is VALID [2022-04-28 12:56:54,914 INFO L290 TraceCheckUtils]: 25: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 12:56:54,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 12:56:54,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,915 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,916 INFO L272 TraceCheckUtils]: 29: Hoare triple {2939#(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)); {2868#true} is VALID [2022-04-28 12:56:54,916 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 12:56:54,916 INFO L290 TraceCheckUtils]: 31: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 12:56:54,916 INFO L290 TraceCheckUtils]: 32: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,917 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,917 INFO L272 TraceCheckUtils]: 34: Hoare triple {2939#(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)); {2868#true} is VALID [2022-04-28 12:56:54,917 INFO L290 TraceCheckUtils]: 35: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 12:56:54,917 INFO L290 TraceCheckUtils]: 36: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 12:56:54,917 INFO L290 TraceCheckUtils]: 37: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,918 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,919 INFO L272 TraceCheckUtils]: 41: Hoare triple {2939#(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)); {2868#true} is VALID [2022-04-28 12:56:54,919 INFO L290 TraceCheckUtils]: 42: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 12:56:54,919 INFO L290 TraceCheckUtils]: 43: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 12:56:54,919 INFO L290 TraceCheckUtils]: 44: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,920 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,920 INFO L272 TraceCheckUtils]: 46: Hoare triple {2939#(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)); {2868#true} is VALID [2022-04-28 12:56:54,920 INFO L290 TraceCheckUtils]: 47: Hoare triple {2868#true} ~cond := #in~cond; {2868#true} is VALID [2022-04-28 12:56:54,920 INFO L290 TraceCheckUtils]: 48: Hoare triple {2868#true} assume !(0 == ~cond); {2868#true} is VALID [2022-04-28 12:56:54,920 INFO L290 TraceCheckUtils]: 49: Hoare triple {2868#true} assume true; {2868#true} is VALID [2022-04-28 12:56:54,921 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2868#true} {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,922 INFO L290 TraceCheckUtils]: 51: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 12:56:54,922 INFO L272 TraceCheckUtils]: 52: Hoare triple {2939#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:54,923 INFO L290 TraceCheckUtils]: 53: Hoare triple {3030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:54,923 INFO L290 TraceCheckUtils]: 54: Hoare triple {3034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2869#false} is VALID [2022-04-28 12:56:54,926 INFO L290 TraceCheckUtils]: 55: Hoare triple {2869#false} assume !false; {2869#false} is VALID [2022-04-28 12:56:54,927 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-28 12:56:54,927 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:56:54,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:54,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1564158933] [2022-04-28 12:56:54,927 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:54,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1559334626] [2022-04-28 12:56:54,927 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1559334626] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:54,927 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:54,927 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:54,928 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:54,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1031208637] [2022-04-28 12:56:54,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1031208637] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:54,928 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:54,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:54,928 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1426592758] [2022-04-28 12:56:54,928 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:54,929 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-28 12:56:54,929 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:54,929 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:56:54,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:54,958 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:54,958 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:54,959 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:54,959 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:56:54,959 INFO L87 Difference]: Start difference. First operand 71 states and 88 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:56:55,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:55,210 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-28 12:56:55,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:55,210 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-28 12:56:55,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:55,210 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:56:55,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 12:56:55,212 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:56:55,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-28 12:56:55,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-28 12:56:55,272 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 12:56:55,274 INFO L225 Difference]: With dead ends: 79 [2022-04-28 12:56:55,274 INFO L226 Difference]: Without dead ends: 72 [2022-04-28 12:56:55,274 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 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 12:56:55,275 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 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 12:56:55,275 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:56:55,275 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-28 12:56:55,310 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-28 12:56:55,310 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:55,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:56:55,311 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:56:55,311 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:56:55,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:55,314 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-28 12:56:55,314 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-28 12:56:55,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:55,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:55,315 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-28 12:56:55,315 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-28 12:56:55,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:55,318 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-28 12:56:55,318 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-28 12:56:55,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:55,319 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:55,319 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:55,319 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:55,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:56:55,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-28 12:56:55,322 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-28 12:56:55,322 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:55,322 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-28 12:56:55,322 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, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 12:56:55,322 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 85 transitions. [2022-04-28 12:56:55,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:55,431 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-28 12:56:55,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 12:56:55,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:55,432 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 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] [2022-04-28 12:56:55,449 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 12:56:55,639 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 12:56:55,639 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:55,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:55,640 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-28 12:56:55,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:55,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1797840443] [2022-04-28 12:56:55,640 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:55,640 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-28 12:56:55,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:55,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [205311298] [2022-04-28 12:56:55,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:55,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:55,652 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:55,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2083373116] [2022-04-28 12:56:55,652 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:55,652 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:55,652 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:55,653 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 12:56:55,667 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 12:56:55,742 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:55,742 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:55,743 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 12:56:55,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:55,764 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:00,401 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-28 12:57:00,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {3486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {3486#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; {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-28 12:57:00,402 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L272 TraceCheckUtils]: 17: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,403 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-28 12:57:00,404 INFO L290 TraceCheckUtils]: 22: Hoare triple {3486#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3557#(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 12:57:00,404 INFO L290 TraceCheckUtils]: 23: Hoare triple {3557#(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 !false; {3557#(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 12:57:00,404 INFO L272 TraceCheckUtils]: 24: Hoare triple {3557#(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)); {3486#true} is VALID [2022-04-28 12:57:00,404 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,404 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,405 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3486#true} {3557#(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))} #87#return; {3557#(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 12:57:00,405 INFO L272 TraceCheckUtils]: 29: Hoare triple {3557#(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)); {3486#true} is VALID [2022-04-28 12:57:00,406 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,406 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,407 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3486#true} {3557#(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))} #89#return; {3557#(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 12:57:00,407 INFO L272 TraceCheckUtils]: 34: Hoare triple {3557#(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)); {3486#true} is VALID [2022-04-28 12:57:00,407 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,407 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,407 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,409 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3486#true} {3557#(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))} #91#return; {3557#(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 12:57:00,410 INFO L290 TraceCheckUtils]: 39: Hoare triple {3557#(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; {3609#(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 12:57:00,410 INFO L290 TraceCheckUtils]: 40: Hoare triple {3609#(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 !false; {3609#(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 12:57:00,410 INFO L272 TraceCheckUtils]: 41: Hoare triple {3609#(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)); {3486#true} is VALID [2022-04-28 12:57:00,411 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,411 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,411 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,412 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3486#true} {3609#(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))} #87#return; {3609#(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 12:57:00,412 INFO L272 TraceCheckUtils]: 46: Hoare triple {3609#(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)); {3486#true} is VALID [2022-04-28 12:57:00,412 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,412 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,412 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,413 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3486#true} {3609#(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))} #89#return; {3609#(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 12:57:00,413 INFO L272 TraceCheckUtils]: 51: Hoare triple {3609#(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)); {3486#true} is VALID [2022-04-28 12:57:00,413 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,413 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,413 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,414 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3486#true} {3609#(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))} #91#return; {3609#(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 12:57:00,414 INFO L290 TraceCheckUtils]: 56: Hoare triple {3609#(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); {3661#(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 12:57:00,415 INFO L290 TraceCheckUtils]: 57: Hoare triple {3661#(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 !false; {3661#(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 12:57:00,415 INFO L272 TraceCheckUtils]: 58: Hoare triple {3661#(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)); {3486#true} is VALID [2022-04-28 12:57:00,415 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,415 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,415 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,416 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3486#true} {3661#(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))} #93#return; {3661#(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 12:57:00,416 INFO L272 TraceCheckUtils]: 63: Hoare triple {3661#(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)); {3486#true} is VALID [2022-04-28 12:57:00,416 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:00,416 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:00,417 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:00,417 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3486#true} {3661#(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))} #95#return; {3661#(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 12:57:00,418 INFO L290 TraceCheckUtils]: 68: Hoare triple {3661#(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); {3698#(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 12:57:00,420 INFO L290 TraceCheckUtils]: 69: Hoare triple {3698#(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; {3702#(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 12:57:00,420 INFO L290 TraceCheckUtils]: 70: Hoare triple {3702#(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 !false; {3702#(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 12:57:00,421 INFO L272 TraceCheckUtils]: 71: Hoare triple {3702#(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)); {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:00,421 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:00,422 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-28 12:57:00,422 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-28 12:57:00,422 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-28 12:57:00,422 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:08,053 INFO L290 TraceCheckUtils]: 74: Hoare triple {3487#false} assume !false; {3487#false} is VALID [2022-04-28 12:57:08,054 INFO L290 TraceCheckUtils]: 73: Hoare triple {3713#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3487#false} is VALID [2022-04-28 12:57:08,055 INFO L290 TraceCheckUtils]: 72: Hoare triple {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3713#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:08,056 INFO L272 TraceCheckUtils]: 71: Hoare triple {3729#(= (+ 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)); {3709#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:08,060 INFO L290 TraceCheckUtils]: 70: Hoare triple {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:57:08,063 INFO L290 TraceCheckUtils]: 69: Hoare triple {3736#(= (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; {3729#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:57:08,075 INFO L290 TraceCheckUtils]: 68: Hoare triple {3740#(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); {3736#(= (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 12:57:08,076 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3486#true} {3740#(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)))))} #95#return; {3740#(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 12:57:08,077 INFO L290 TraceCheckUtils]: 66: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,077 INFO L290 TraceCheckUtils]: 65: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,077 INFO L290 TraceCheckUtils]: 64: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,077 INFO L272 TraceCheckUtils]: 63: Hoare triple {3740#(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)); {3486#true} is VALID [2022-04-28 12:57:08,078 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3486#true} {3740#(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)))))} #93#return; {3740#(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 12:57:08,078 INFO L290 TraceCheckUtils]: 61: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,078 INFO L290 TraceCheckUtils]: 60: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,078 INFO L290 TraceCheckUtils]: 59: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,078 INFO L272 TraceCheckUtils]: 58: Hoare triple {3740#(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)); {3486#true} is VALID [2022-04-28 12:57:08,079 INFO L290 TraceCheckUtils]: 57: Hoare triple {3740#(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 !false; {3740#(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 12:57:08,080 INFO L290 TraceCheckUtils]: 56: Hoare triple {3777#(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); {3740#(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 12:57:08,081 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3486#true} {3777#(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))} #91#return; {3777#(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 12:57:08,081 INFO L290 TraceCheckUtils]: 54: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,081 INFO L290 TraceCheckUtils]: 53: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,081 INFO L290 TraceCheckUtils]: 52: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,081 INFO L272 TraceCheckUtils]: 51: Hoare triple {3777#(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)); {3486#true} is VALID [2022-04-28 12:57:08,081 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3486#true} {3777#(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))} #89#return; {3777#(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 12:57:08,082 INFO L290 TraceCheckUtils]: 49: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,082 INFO L290 TraceCheckUtils]: 48: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,082 INFO L290 TraceCheckUtils]: 47: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,082 INFO L272 TraceCheckUtils]: 46: Hoare triple {3777#(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)); {3486#true} is VALID [2022-04-28 12:57:08,082 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3486#true} {3777#(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))} #87#return; {3777#(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 12:57:08,082 INFO L290 TraceCheckUtils]: 44: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,083 INFO L290 TraceCheckUtils]: 43: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,083 INFO L290 TraceCheckUtils]: 42: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,083 INFO L272 TraceCheckUtils]: 41: Hoare triple {3777#(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)); {3486#true} is VALID [2022-04-28 12:57:08,084 INFO L290 TraceCheckUtils]: 40: Hoare triple {3777#(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 !false; {3777#(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 12:57:08,087 INFO L290 TraceCheckUtils]: 39: Hoare triple {3829#(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; {3777#(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 12:57:08,088 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3486#true} {3829#(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))} #91#return; {3829#(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 12:57:08,088 INFO L290 TraceCheckUtils]: 37: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,088 INFO L290 TraceCheckUtils]: 36: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,088 INFO L290 TraceCheckUtils]: 35: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,088 INFO L272 TraceCheckUtils]: 34: Hoare triple {3829#(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)); {3486#true} is VALID [2022-04-28 12:57:08,088 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3486#true} {3829#(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))} #89#return; {3829#(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 12:57:08,089 INFO L290 TraceCheckUtils]: 32: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,089 INFO L290 TraceCheckUtils]: 31: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,089 INFO L290 TraceCheckUtils]: 30: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,089 INFO L272 TraceCheckUtils]: 29: Hoare triple {3829#(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)); {3486#true} is VALID [2022-04-28 12:57:08,089 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3486#true} {3829#(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))} #87#return; {3829#(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 12:57:08,089 INFO L290 TraceCheckUtils]: 27: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,089 INFO L290 TraceCheckUtils]: 26: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,090 INFO L290 TraceCheckUtils]: 25: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,090 INFO L272 TraceCheckUtils]: 24: Hoare triple {3829#(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)); {3486#true} is VALID [2022-04-28 12:57:08,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {3829#(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 !false; {3829#(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 12:57:08,091 INFO L290 TraceCheckUtils]: 22: Hoare triple {3486#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3829#(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 12:57:08,091 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3486#true} {3486#true} #85#return; {3486#true} is VALID [2022-04-28 12:57:08,091 INFO L290 TraceCheckUtils]: 20: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,091 INFO L290 TraceCheckUtils]: 19: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L290 TraceCheckUtils]: 18: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L272 TraceCheckUtils]: 17: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3486#true} {3486#true} #83#return; {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L290 TraceCheckUtils]: 15: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L272 TraceCheckUtils]: 12: Hoare triple {3486#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L290 TraceCheckUtils]: 11: Hoare triple {3486#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3486#true} {3486#true} #81#return; {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {3486#true} assume !(0 == ~cond); {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {3486#true} ~cond := #in~cond; {3486#true} is VALID [2022-04-28 12:57:08,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {3486#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {3486#true} is VALID [2022-04-28 12:57:08,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {3486#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; {3486#true} is VALID [2022-04-28 12:57:08,093 INFO L272 TraceCheckUtils]: 4: Hoare triple {3486#true} call #t~ret6 := main(); {3486#true} is VALID [2022-04-28 12:57:08,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3486#true} {3486#true} #101#return; {3486#true} is VALID [2022-04-28 12:57:08,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {3486#true} assume true; {3486#true} is VALID [2022-04-28 12:57:08,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {3486#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {3486#true} is VALID [2022-04-28 12:57:08,093 INFO L272 TraceCheckUtils]: 0: Hoare triple {3486#true} call ULTIMATE.init(); {3486#true} is VALID [2022-04-28 12:57:08,094 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-28 12:57:08,094 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:08,094 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [205311298] [2022-04-28 12:57:08,094 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:08,094 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2083373116] [2022-04-28 12:57:08,094 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2083373116] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:08,094 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:08,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:57:08,095 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:08,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1797840443] [2022-04-28 12:57:08,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1797840443] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:08,095 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:08,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:57:08,095 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [751565125] [2022-04-28 12:57:08,095 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:08,096 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 75 [2022-04-28 12:57:08,096 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:08,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:57:08,149 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 12:57:08,150 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:57:08,150 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:08,150 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:57:08,150 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:57:08,151 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:57:09,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:09,204 INFO L93 Difference]: Finished difference Result 135 states and 165 transitions. [2022-04-28 12:57:09,204 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:57:09,205 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) Word has length 75 [2022-04-28 12:57:09,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:09,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:57:09,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-28 12:57:09,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:57:09,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-04-28 12:57:09,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 102 transitions. [2022-04-28 12:57:09,307 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 12:57:09,310 INFO L225 Difference]: With dead ends: 135 [2022-04-28 12:57:09,310 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 12:57:09,310 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:57:09,311 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 10 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 237 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:09,311 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 211 Invalid, 237 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 224 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:57:09,312 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 12:57:09,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-28 12:57:09,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:09,377 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:57:09,377 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:57:09,377 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:57:09,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:09,381 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-28 12:57:09,381 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-28 12:57:09,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:09,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:09,382 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-28 12:57:09,383 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 108 states. [2022-04-28 12:57:09,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:09,386 INFO L93 Difference]: Finished difference Result 108 states and 128 transitions. [2022-04-28 12:57:09,386 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 128 transitions. [2022-04-28 12:57:09,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:09,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:09,387 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:09,387 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:09,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 67 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:57:09,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-28 12:57:09,392 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 75 [2022-04-28 12:57:09,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:09,392 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-28 12:57:09,392 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 4 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-28 12:57:09,392 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 125 transitions. [2022-04-28 12:57:09,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:09,576 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-28 12:57:09,577 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 12:57:09,577 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:09,577 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 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 12:57:09,595 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 12:57:09,782 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 12:57:09,783 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:09,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:09,783 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-28 12:57:09,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:09,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1483941404] [2022-04-28 12:57:09,784 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:09,784 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-28 12:57:09,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:09,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1618475916] [2022-04-28 12:57:09,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:09,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:09,795 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:09,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [364564683] [2022-04-28 12:57:09,795 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:57:09,795 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:09,796 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:09,796 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 12:57:09,807 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 12:57:09,852 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:57:09,852 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:09,853 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:57:09,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:09,889 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:10,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-28 12:57:10,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {4649#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {4649#true} is VALID [2022-04-28 12:57:10,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L290 TraceCheckUtils]: 5: Hoare triple {4649#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; {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,699 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,700 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,700 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-28 12:57:10,700 INFO L272 TraceCheckUtils]: 17: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:10,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,700 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-28 12:57:10,703 INFO L290 TraceCheckUtils]: 22: Hoare triple {4649#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:10,704 INFO L290 TraceCheckUtils]: 23: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:10,704 INFO L272 TraceCheckUtils]: 24: Hoare triple {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:10,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,705 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:10,705 INFO L272 TraceCheckUtils]: 29: Hoare triple {4720#(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)); {4649#true} is VALID [2022-04-28 12:57:10,705 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,705 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,705 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,706 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:10,706 INFO L272 TraceCheckUtils]: 34: Hoare triple {4720#(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)); {4649#true} is VALID [2022-04-28 12:57:10,706 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,706 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,706 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,707 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4649#true} {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {4720#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:10,707 INFO L290 TraceCheckUtils]: 39: Hoare triple {4720#(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; {4772#(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 12:57:10,708 INFO L290 TraceCheckUtils]: 40: Hoare triple {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {4772#(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 12:57:10,708 INFO L272 TraceCheckUtils]: 41: Hoare triple {4772#(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)); {4649#true} is VALID [2022-04-28 12:57:10,708 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,708 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,708 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,709 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {4772#(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 12:57:10,709 INFO L272 TraceCheckUtils]: 46: Hoare triple {4772#(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)); {4649#true} is VALID [2022-04-28 12:57:10,709 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,709 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,709 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,710 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {4772#(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 12:57:10,710 INFO L272 TraceCheckUtils]: 51: Hoare triple {4772#(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)); {4649#true} is VALID [2022-04-28 12:57:10,710 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,710 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,710 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,710 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4649#true} {4772#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {4772#(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 12:57:10,711 INFO L290 TraceCheckUtils]: 56: Hoare triple {4772#(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); {4824#(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 12:57:10,712 INFO L290 TraceCheckUtils]: 57: Hoare triple {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {4824#(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 12:57:10,712 INFO L272 TraceCheckUtils]: 58: Hoare triple {4824#(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)); {4649#true} is VALID [2022-04-28 12:57:10,712 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,712 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,712 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,714 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4649#true} {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {4824#(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 12:57:10,714 INFO L272 TraceCheckUtils]: 63: Hoare triple {4824#(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)); {4649#true} is VALID [2022-04-28 12:57:10,714 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,714 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,714 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,714 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4649#true} {4824#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {4824#(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 12:57:10,715 INFO L290 TraceCheckUtils]: 68: Hoare triple {4824#(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); {4861#(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 12:57:10,716 INFO L290 TraceCheckUtils]: 69: Hoare triple {4861#(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; {4861#(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 12:57:10,716 INFO L290 TraceCheckUtils]: 70: Hoare triple {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {4861#(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 12:57:10,716 INFO L272 TraceCheckUtils]: 71: Hoare triple {4861#(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)); {4649#true} is VALID [2022-04-28 12:57:10,716 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:10,717 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:10,717 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:10,717 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4649#true} {4861#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #93#return; {4861#(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 12:57:10,718 INFO L272 TraceCheckUtils]: 76: Hoare triple {4861#(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)); {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:10,719 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:10,719 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-28 12:57:10,719 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-28 12:57:10,720 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-28 12:57:10,720 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:13,079 INFO L290 TraceCheckUtils]: 79: Hoare triple {4650#false} assume !false; {4650#false} is VALID [2022-04-28 12:57:13,080 INFO L290 TraceCheckUtils]: 78: Hoare triple {4890#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4650#false} is VALID [2022-04-28 12:57:13,080 INFO L290 TraceCheckUtils]: 77: Hoare triple {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4890#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:13,081 INFO L272 TraceCheckUtils]: 76: Hoare triple {4906#(= 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)); {4886#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:13,081 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4649#true} {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:57:13,082 INFO L290 TraceCheckUtils]: 74: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,082 INFO L290 TraceCheckUtils]: 73: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,082 INFO L290 TraceCheckUtils]: 72: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,082 INFO L272 TraceCheckUtils]: 71: Hoare triple {4906#(= 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)); {4649#true} is VALID [2022-04-28 12:57:13,082 INFO L290 TraceCheckUtils]: 70: Hoare triple {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:57:13,082 INFO L290 TraceCheckUtils]: 69: Hoare triple {4906#(= 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; {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:57:13,092 INFO L290 TraceCheckUtils]: 68: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} 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); {4906#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:57:13,093 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4649#true} {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 12:57:13,093 INFO L290 TraceCheckUtils]: 66: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,093 INFO L290 TraceCheckUtils]: 65: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,093 INFO L290 TraceCheckUtils]: 64: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,093 INFO L272 TraceCheckUtils]: 63: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:13,094 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4649#true} {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 12:57:13,094 INFO L290 TraceCheckUtils]: 61: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,094 INFO L290 TraceCheckUtils]: 60: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,094 INFO L290 TraceCheckUtils]: 59: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,094 INFO L272 TraceCheckUtils]: 58: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:13,095 INFO L290 TraceCheckUtils]: 57: Hoare triple {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 12:57:13,096 INFO L290 TraceCheckUtils]: 56: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {4931#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 12:57:13,096 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #91#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:13,096 INFO L290 TraceCheckUtils]: 54: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,097 INFO L290 TraceCheckUtils]: 53: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,097 INFO L290 TraceCheckUtils]: 52: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,097 INFO L272 TraceCheckUtils]: 51: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:13,097 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #89#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:13,097 INFO L290 TraceCheckUtils]: 49: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,097 INFO L290 TraceCheckUtils]: 48: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,097 INFO L290 TraceCheckUtils]: 47: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,098 INFO L272 TraceCheckUtils]: 46: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:13,098 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4649#true} {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #87#return; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:13,098 INFO L290 TraceCheckUtils]: 44: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,098 INFO L290 TraceCheckUtils]: 43: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,098 INFO L290 TraceCheckUtils]: 42: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,098 INFO L272 TraceCheckUtils]: 41: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:13,099 INFO L290 TraceCheckUtils]: 40: Hoare triple {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !false; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:13,103 INFO L290 TraceCheckUtils]: 39: Hoare triple {5020#(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; {4968#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:13,103 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {5020#(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 12:57:13,103 INFO L290 TraceCheckUtils]: 37: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,103 INFO L290 TraceCheckUtils]: 36: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,103 INFO L290 TraceCheckUtils]: 35: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,104 INFO L272 TraceCheckUtils]: 34: Hoare triple {5020#(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)); {4649#true} is VALID [2022-04-28 12:57:13,104 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {5020#(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 12:57:13,104 INFO L290 TraceCheckUtils]: 32: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,104 INFO L272 TraceCheckUtils]: 29: Hoare triple {5020#(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)); {4649#true} is VALID [2022-04-28 12:57:13,105 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4649#true} {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {5020#(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 12:57:13,106 INFO L290 TraceCheckUtils]: 27: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,106 INFO L290 TraceCheckUtils]: 26: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,106 INFO L290 TraceCheckUtils]: 25: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,106 INFO L272 TraceCheckUtils]: 24: Hoare triple {5020#(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)); {4649#true} is VALID [2022-04-28 12:57:13,106 INFO L290 TraceCheckUtils]: 23: Hoare triple {5020#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {5020#(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 12:57:13,107 INFO L290 TraceCheckUtils]: 22: Hoare triple {4649#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5020#(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 12:57:13,107 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4649#true} {4649#true} #85#return; {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L290 TraceCheckUtils]: 20: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L290 TraceCheckUtils]: 19: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L290 TraceCheckUtils]: 18: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L272 TraceCheckUtils]: 17: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4649#true} {4649#true} #83#return; {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L272 TraceCheckUtils]: 12: Hoare triple {4649#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {4649#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4649#true} is VALID [2022-04-28 12:57:13,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4649#true} {4649#true} #81#return; {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {4649#true} assume !(0 == ~cond); {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {4649#true} ~cond := #in~cond; {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L272 TraceCheckUtils]: 6: Hoare triple {4649#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L290 TraceCheckUtils]: 5: Hoare triple {4649#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; {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L272 TraceCheckUtils]: 4: Hoare triple {4649#true} call #t~ret6 := main(); {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4649#true} {4649#true} #101#return; {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {4649#true} assume true; {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {4649#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {4649#true} is VALID [2022-04-28 12:57:13,108 INFO L272 TraceCheckUtils]: 0: Hoare triple {4649#true} call ULTIMATE.init(); {4649#true} is VALID [2022-04-28 12:57:13,109 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-28 12:57:13,109 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:13,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1618475916] [2022-04-28 12:57:13,109 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:13,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [364564683] [2022-04-28 12:57:13,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [364564683] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:13,109 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:13,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 12:57:13,109 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:13,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1483941404] [2022-04-28 12:57:13,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1483941404] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:13,109 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:13,110 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:57:13,110 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [464486856] [2022-04-28 12:57:13,110 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:13,110 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-28 12:57:13,110 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:13,110 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:13,153 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 12:57:13,153 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:57:13,153 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:13,154 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:57:13,154 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:57:13,154 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:13,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:13,975 INFO L93 Difference]: Finished difference Result 133 states and 159 transitions. [2022-04-28 12:57:13,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:57:13,976 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 80 [2022-04-28 12:57:13,976 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:13,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:13,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-28 12:57:13,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:13,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2022-04-28 12:57:13,980 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 98 transitions. [2022-04-28 12:57:14,081 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:14,083 INFO L225 Difference]: With dead ends: 133 [2022-04-28 12:57:14,083 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 12:57:14,084 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 148 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:57:14,084 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 10 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 251 SdHoareTripleChecker+Invalid, 183 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:14,084 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 251 Invalid, 183 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:57:14,085 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 12:57:14,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-28 12:57:14,152 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:14,152 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:57:14,152 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:57:14,153 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:57:14,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:14,156 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 12:57:14,156 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 12:57:14,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:14,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:14,158 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-28 12:57:14,158 INFO L87 Difference]: Start difference. First operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 110 states. [2022-04-28 12:57:14,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:14,161 INFO L93 Difference]: Finished difference Result 110 states and 126 transitions. [2022-04-28 12:57:14,161 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 12:57:14,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:14,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:14,162 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:14,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:14,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 66 states have (on average 1.106060606060606) internal successors, (73), 70 states have internal predecessors, (73), 28 states have call successors, (28), 16 states have call predecessors, (28), 15 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:57:14,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 126 transitions. [2022-04-28 12:57:14,166 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 126 transitions. Word has length 80 [2022-04-28 12:57:14,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:14,166 INFO L495 AbstractCegarLoop]: Abstraction has 110 states and 126 transitions. [2022-04-28 12:57:14,167 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:14,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 126 transitions. [2022-04-28 12:57:14,337 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:14,337 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 126 transitions. [2022-04-28 12:57:14,340 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:57:14,340 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:14,340 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 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, 1, 1] [2022-04-28 12:57:14,357 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 12:57:14,543 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 12:57:14,543 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:14,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:14,544 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-28 12:57:14,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:14,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1251194937] [2022-04-28 12:57:14,544 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:14,544 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-28 12:57:14,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:14,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [532321234] [2022-04-28 12:57:14,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:14,544 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:14,556 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:14,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [257537164] [2022-04-28 12:57:14,556 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:14,556 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:14,557 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:14,557 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 12:57:14,580 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 12:57:14,619 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:14,619 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:14,620 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 12:57:14,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:14,638 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:39,224 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-28 12:57:39,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {5850#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#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; {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,225 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,226 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-28 12:57:39,226 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,226 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,226 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,226 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,226 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-28 12:57:39,227 INFO L290 TraceCheckUtils]: 22: Hoare triple {5850#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:39,227 INFO L290 TraceCheckUtils]: 23: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} assume !false; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:39,228 INFO L272 TraceCheckUtils]: 24: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,228 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,228 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,228 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,229 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5850#true} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #87#return; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:39,229 INFO L272 TraceCheckUtils]: 29: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,229 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,229 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,229 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,230 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5850#true} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #89#return; {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:39,230 INFO L272 TraceCheckUtils]: 34: Hoare triple {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,230 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:39,231 INFO L290 TraceCheckUtils]: 36: Hoare triple {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:57:39,231 INFO L290 TraceCheckUtils]: 37: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:57:39,232 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {5921#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 1))} #91#return; {5972#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,233 INFO L290 TraceCheckUtils]: 39: Hoare triple {5972#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= 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; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,233 INFO L272 TraceCheckUtils]: 41: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,234 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,234 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,234 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,234 INFO L272 TraceCheckUtils]: 46: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,234 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,235 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,235 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,235 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,235 INFO L272 TraceCheckUtils]: 51: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,235 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,236 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,236 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,236 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5850#true} {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,237 INFO L290 TraceCheckUtils]: 56: Hoare triple {5976#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,237 INFO L290 TraceCheckUtils]: 57: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,237 INFO L272 TraceCheckUtils]: 58: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~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)); {5850#true} is VALID [2022-04-28 12:57:39,237 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,238 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,238 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,238 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5850#true} {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #93#return; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,238 INFO L272 TraceCheckUtils]: 63: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,238 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,238 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,239 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,239 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5850#true} {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} #95#return; {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,241 INFO L290 TraceCheckUtils]: 68: Hoare triple {6028#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~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); {6065#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:39,242 INFO L290 TraceCheckUtils]: 69: Hoare triple {6065#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~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; {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:57:39,243 INFO L290 TraceCheckUtils]: 70: Hoare triple {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} assume !false; {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:57:39,243 INFO L272 TraceCheckUtils]: 71: Hoare triple {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,243 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:39,244 INFO L290 TraceCheckUtils]: 73: Hoare triple {5961#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:57:39,244 INFO L290 TraceCheckUtils]: 74: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:57:39,250 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6069#(and (= main_~q~0 main_~p~0) (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) (+ main_~d~0 main_~r~0)) (<= (mod main_~B~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} #93#return; {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} is VALID [2022-04-28 12:57:39,251 INFO L272 TraceCheckUtils]: 76: Hoare triple {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:57:39,251 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:57:39,251 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:57:39,251 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:57:39,252 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5850#true} {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} #95#return; {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} is VALID [2022-04-28 12:57:39,252 INFO L290 TraceCheckUtils]: 81: Hoare triple {6088#(and (= main_~q~0 main_~p~0) (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (<= 0 main_~d~0))} assume !(1 != ~p~0); {6107#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (= main_~q~0 1))} is VALID [2022-04-28 12:57:39,254 INFO L272 TraceCheckUtils]: 82: Hoare triple {6107#(and (= (mod main_~A~0 4294967296) (+ (* (mod main_~d~0 4294967296) main_~q~0) main_~r~0)) (<= (mod main_~d~0 4294967296) (+ main_~d~0 main_~r~0)) (< (mod main_~A~0 4294967296) (* (mod main_~d~0 4294967296) 2)) (< main_~d~0 4294967296) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:39,255 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:39,255 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-28 12:57:39,255 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-28 12:57:39,256 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 45 proven. 32 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 12:57:39,256 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:59:42,166 INFO L290 TraceCheckUtils]: 85: Hoare triple {5851#false} assume !false; {5851#false} is VALID [2022-04-28 12:59:42,167 INFO L290 TraceCheckUtils]: 84: Hoare triple {6115#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5851#false} is VALID [2022-04-28 12:59:42,167 INFO L290 TraceCheckUtils]: 83: Hoare triple {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6115#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:59:42,168 INFO L272 TraceCheckUtils]: 82: Hoare triple {6131#(= (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)); {6111#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:59:42,168 INFO L290 TraceCheckUtils]: 81: Hoare triple {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {6131#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 12:59:42,169 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5850#true} {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {6135#(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 12:59:42,169 INFO L290 TraceCheckUtils]: 79: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,169 INFO L290 TraceCheckUtils]: 78: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,169 INFO L290 TraceCheckUtils]: 77: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,169 INFO L272 TraceCheckUtils]: 76: Hoare triple {6135#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,170 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} #93#return; {6135#(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 12:59:42,170 INFO L290 TraceCheckUtils]: 74: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:59:42,170 INFO L290 TraceCheckUtils]: 73: Hoare triple {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:59:42,170 INFO L290 TraceCheckUtils]: 72: Hoare triple {5850#true} ~cond := #in~cond; {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:59:42,171 INFO L272 TraceCheckUtils]: 71: Hoare triple {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,171 INFO L290 TraceCheckUtils]: 70: Hoare triple {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} assume !false; {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:59:42,179 INFO L290 TraceCheckUtils]: 69: Hoare triple {6174#(or (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* main_~d~0 (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6154#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:59:42,184 INFO L290 TraceCheckUtils]: 68: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} 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); {6174#(or (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* main_~d~0 (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 12:59:42,189 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5850#true} {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} #95#return; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-28 12:59:42,189 INFO L290 TraceCheckUtils]: 66: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,189 INFO L290 TraceCheckUtils]: 65: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,189 INFO L290 TraceCheckUtils]: 64: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,189 INFO L272 TraceCheckUtils]: 63: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,190 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5850#true} {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} #93#return; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-28 12:59:42,190 INFO L290 TraceCheckUtils]: 61: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,190 INFO L290 TraceCheckUtils]: 60: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,190 INFO L290 TraceCheckUtils]: 59: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,190 INFO L272 TraceCheckUtils]: 58: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,191 INFO L290 TraceCheckUtils]: 57: Hoare triple {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} assume !false; {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-28 12:59:42,192 INFO L290 TraceCheckUtils]: 56: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6178#(and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1)))))} is VALID [2022-04-28 12:59:42,193 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #91#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:59:42,193 INFO L290 TraceCheckUtils]: 54: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,193 INFO L290 TraceCheckUtils]: 53: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,193 INFO L290 TraceCheckUtils]: 52: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,193 INFO L272 TraceCheckUtils]: 51: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,194 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #89#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:59:42,194 INFO L290 TraceCheckUtils]: 49: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,194 INFO L290 TraceCheckUtils]: 48: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,194 INFO L290 TraceCheckUtils]: 47: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,194 INFO L272 TraceCheckUtils]: 46: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,194 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5850#true} {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} #87#return; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:59:42,195 INFO L290 TraceCheckUtils]: 44: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,195 INFO L290 TraceCheckUtils]: 43: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,195 INFO L290 TraceCheckUtils]: 42: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,195 INFO L272 TraceCheckUtils]: 41: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,196 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} assume !false; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:59:42,199 INFO L290 TraceCheckUtils]: 39: Hoare triple {6267#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6215#(or (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (div main_~d~0 2) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (+ (div main_~d~0 2) 1) (+ main_~q~0 1)) (* (- 1) (mod main_~B~0 4294967296)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) (div main_~d~0 2) 1))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:59:42,200 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {6267#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:59:42,200 INFO L290 TraceCheckUtils]: 37: Hoare triple {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:59:42,200 INFO L290 TraceCheckUtils]: 36: Hoare triple {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5965#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:59:42,201 INFO L290 TraceCheckUtils]: 35: Hoare triple {5850#true} ~cond := #in~cond; {6164#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:59:42,201 INFO L272 TraceCheckUtils]: 34: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,201 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5850#true} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:59:42,201 INFO L290 TraceCheckUtils]: 32: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,201 INFO L290 TraceCheckUtils]: 31: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,202 INFO L290 TraceCheckUtils]: 30: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,202 INFO L272 TraceCheckUtils]: 29: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,202 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5850#true} {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:59:42,203 INFO L290 TraceCheckUtils]: 27: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,203 INFO L290 TraceCheckUtils]: 26: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,203 INFO L290 TraceCheckUtils]: 25: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,203 INFO L272 TraceCheckUtils]: 24: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,204 INFO L290 TraceCheckUtils]: 23: Hoare triple {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:59:42,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {5850#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6271#(or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (div (* main_~d~0 2) 2) (+ main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296)))) (not (<= (+ main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (mod main_~A~0 4294967296) main_~d~0))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:59:42,205 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5850#true} {5850#true} #85#return; {5850#true} is VALID [2022-04-28 12:59:42,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,205 INFO L290 TraceCheckUtils]: 19: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,205 INFO L290 TraceCheckUtils]: 18: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,205 INFO L272 TraceCheckUtils]: 17: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,205 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5850#true} {5850#true} #83#return; {5850#true} is VALID [2022-04-28 12:59:42,205 INFO L290 TraceCheckUtils]: 15: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,205 INFO L290 TraceCheckUtils]: 14: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,205 INFO L290 TraceCheckUtils]: 13: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L272 TraceCheckUtils]: 12: Hoare triple {5850#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L290 TraceCheckUtils]: 11: Hoare triple {5850#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5850#true} {5850#true} #81#return; {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {5850#true} assume !(0 == ~cond); {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {5850#true} ~cond := #in~cond; {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L272 TraceCheckUtils]: 6: Hoare triple {5850#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L290 TraceCheckUtils]: 5: Hoare triple {5850#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; {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L272 TraceCheckUtils]: 4: Hoare triple {5850#true} call #t~ret6 := main(); {5850#true} is VALID [2022-04-28 12:59:42,206 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5850#true} {5850#true} #101#return; {5850#true} is VALID [2022-04-28 12:59:42,207 INFO L290 TraceCheckUtils]: 2: Hoare triple {5850#true} assume true; {5850#true} is VALID [2022-04-28 12:59:42,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {5850#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {5850#true} is VALID [2022-04-28 12:59:42,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {5850#true} call ULTIMATE.init(); {5850#true} is VALID [2022-04-28 12:59:42,207 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 45 proven. 32 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 12:59:42,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:59:42,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [532321234] [2022-04-28 12:59:42,208 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:59:42,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [257537164] [2022-04-28 12:59:42,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [257537164] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:59:42,208 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:59:42,208 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 23 [2022-04-28 12:59:42,208 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:59:42,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1251194937] [2022-04-28 12:59:42,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1251194937] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:59:42,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:59:42,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 12:59:42,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [260834748] [2022-04-28 12:59:42,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:59:42,209 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-28 12:59:42,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:59:42,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:59:42,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:59:42,280 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 12:59:42,280 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:59:42,281 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 12:59:42,281 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:59:42,281 INFO L87 Difference]: Start difference. First operand 110 states and 126 transitions. Second operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:59:45,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:59:45,290 INFO L93 Difference]: Finished difference Result 116 states and 131 transitions. [2022-04-28 12:59:45,290 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:59:45,290 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-28 12:59:45,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:59:45,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:59:45,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-28 12:59:45,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:59:45,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 79 transitions. [2022-04-28 12:59:45,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 79 transitions. [2022-04-28 12:59:45,439 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 12:59:45,441 INFO L225 Difference]: With dead ends: 116 [2022-04-28 12:59:45,441 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 12:59:45,442 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 149 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 6.6s TimeCoverageRelationStatistics Valid=135, Invalid=567, Unknown=0, NotChecked=0, Total=702 [2022-04-28 12:59:45,442 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 352 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:59:45,442 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 198 Invalid, 352 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:59:45,443 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 12:59:45,490 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 88. [2022-04-28 12:59:45,490 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:59:45,490 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:59:45,490 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:59:45,491 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:59:45,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:59:45,493 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-28 12:59:45,493 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-28 12:59:45,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:59:45,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:59:45,494 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) Second operand 88 states. [2022-04-28 12:59:45,494 INFO L87 Difference]: Start difference. First operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) Second operand 88 states. [2022-04-28 12:59:45,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:59:45,496 INFO L93 Difference]: Finished difference Result 88 states and 102 transitions. [2022-04-28 12:59:45,497 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-28 12:59:45,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:59:45,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:59:45,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:59:45,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:59:45,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 55 states have internal predecessors, (58), 23 states have call successors, (23), 13 states have call predecessors, (23), 12 states have return successors, (21), 19 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 12:59:45,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 102 transitions. [2022-04-28 12:59:45,500 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 102 transitions. Word has length 86 [2022-04-28 12:59:45,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:59:45,500 INFO L495 AbstractCegarLoop]: Abstraction has 88 states and 102 transitions. [2022-04-28 12:59:45,500 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:59:45,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 102 transitions. [2022-04-28 12:59:45,626 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 12:59:45,627 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 102 transitions. [2022-04-28 12:59:45,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-04-28 12:59:45,627 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:59:45,627 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:59:45,644 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 12:59:45,831 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 12:59:45,831 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:59:45,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:59:45,832 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 5 times [2022-04-28 12:59:45,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:59:45,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1157115607] [2022-04-28 12:59:45,832 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:59:45,832 INFO L85 PathProgramCache]: Analyzing trace with hash 1885636697, now seen corresponding path program 6 times [2022-04-28 12:59:45,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:59:45,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1775121480] [2022-04-28 12:59:45,833 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:59:45,833 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:59:45,865 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:59:45,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [339917158] [2022-04-28 12:59:45,866 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:59:45,866 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:59:45,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:59:45,873 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 12:59:45,877 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 12:59:45,932 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 12:59:45,933 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:59:45,933 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 12:59:45,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:59:45,953 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:00:59,586 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:01:00,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-28 13:01:00,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {6980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {6980#true} is VALID [2022-04-28 13:01:00,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-28 13:01:00,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-28 13:01:00,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#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; {6980#true} is VALID [2022-04-28 13:01:00,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,240 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-28 13:01:00,240 INFO L272 TraceCheckUtils]: 17: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:01:00,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,240 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-28 13:01:00,241 INFO L290 TraceCheckUtils]: 22: Hoare triple {6980#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,241 INFO L290 TraceCheckUtils]: 23: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,242 INFO L272 TraceCheckUtils]: 24: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:01:00,242 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,242 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,242 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,242 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,242 INFO L272 TraceCheckUtils]: 29: Hoare triple {7051#(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)); {6980#true} is VALID [2022-04-28 13:01:00,242 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,242 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,242 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,243 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,243 INFO L272 TraceCheckUtils]: 34: Hoare triple {7051#(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)); {6980#true} is VALID [2022-04-28 13:01:00,243 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,243 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,243 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,244 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {7051#(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; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,245 INFO L272 TraceCheckUtils]: 41: Hoare triple {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:01:00,245 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,245 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,245 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,245 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,245 INFO L272 TraceCheckUtils]: 46: Hoare triple {7051#(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)); {6980#true} is VALID [2022-04-28 13:01:00,245 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,245 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,245 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,246 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,246 INFO L272 TraceCheckUtils]: 51: Hoare triple {7051#(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)); {6980#true} is VALID [2022-04-28 13:01:00,246 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,246 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,246 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,247 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6980#true} {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {7051#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:01:00,248 INFO L290 TraceCheckUtils]: 56: Hoare triple {7051#(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; {7154#(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 13:01:00,248 INFO L290 TraceCheckUtils]: 57: Hoare triple {7154#(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 !false; {7154#(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 13:01:00,248 INFO L272 TraceCheckUtils]: 58: Hoare triple {7154#(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)); {6980#true} is VALID [2022-04-28 13:01:00,248 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,248 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,248 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,249 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6980#true} {7154#(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))} #87#return; {7154#(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 13:01:00,249 INFO L272 TraceCheckUtils]: 63: Hoare triple {7154#(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)); {6980#true} is VALID [2022-04-28 13:01:00,249 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,249 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,249 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,250 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6980#true} {7154#(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))} #89#return; {7154#(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 13:01:00,250 INFO L272 TraceCheckUtils]: 68: Hoare triple {7154#(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)); {6980#true} is VALID [2022-04-28 13:01:00,250 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:01:00,250 INFO L290 TraceCheckUtils]: 70: Hoare triple {7194#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:01:00,251 INFO L290 TraceCheckUtils]: 71: Hoare triple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:01:00,251 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} {7154#(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))} #91#return; {7205#(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 13:01:00,252 INFO L290 TraceCheckUtils]: 73: Hoare triple {7205#(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); {7205#(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 13:01:00,252 INFO L290 TraceCheckUtils]: 74: Hoare triple {7205#(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 !false; {7205#(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 13:01:00,252 INFO L272 TraceCheckUtils]: 75: Hoare triple {7205#(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)); {6980#true} is VALID [2022-04-28 13:01:00,252 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,252 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,252 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,255 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6980#true} {7205#(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))} #93#return; {7205#(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 13:01:00,256 INFO L272 TraceCheckUtils]: 80: Hoare triple {7205#(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)); {6980#true} is VALID [2022-04-28 13:01:00,256 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:01:00,256 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:01:00,256 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:01:00,257 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6980#true} {7205#(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))} #95#return; {7205#(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 13:01:00,261 INFO L290 TraceCheckUtils]: 85: Hoare triple {7205#(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); {7245#(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 13:01:00,263 INFO L290 TraceCheckUtils]: 86: Hoare triple {7245#(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; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:01:00,263 INFO L290 TraceCheckUtils]: 87: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:01:00,264 INFO L272 TraceCheckUtils]: 88: Hoare triple {7249#(= (+ (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)); {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:01:00,264 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:01:00,264 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-28 13:01:00,264 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-28 13:01:00,265 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-28 13:01:00,265 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:01:55,731 WARN L232 SmtUtils]: Spent 29.00s on a formula simplification that was a NOOP. DAG size: 51 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 13:02:59,993 INFO L290 TraceCheckUtils]: 91: Hoare triple {6981#false} assume !false; {6981#false} is VALID [2022-04-28 13:02:59,994 INFO L290 TraceCheckUtils]: 90: Hoare triple {7260#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6981#false} is VALID [2022-04-28 13:02:59,994 INFO L290 TraceCheckUtils]: 89: Hoare triple {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7260#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:02:59,995 INFO L272 TraceCheckUtils]: 88: Hoare triple {7249#(= (+ (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)); {7256#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:02:59,995 INFO L290 TraceCheckUtils]: 87: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:02:59,997 INFO L290 TraceCheckUtils]: 86: Hoare triple {7282#(= (* (+ 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; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,008 INFO L290 TraceCheckUtils]: 85: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} 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); {7282#(= (* (+ 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 13:03:00,009 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6980#true} {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} #95#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} is VALID [2022-04-28 13:03:00,009 INFO L290 TraceCheckUtils]: 83: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,009 INFO L290 TraceCheckUtils]: 82: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,009 INFO L290 TraceCheckUtils]: 81: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,009 INFO L272 TraceCheckUtils]: 80: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:03:00,019 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6980#true} {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} #93#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} is VALID [2022-04-28 13:03:00,020 INFO L290 TraceCheckUtils]: 78: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,020 INFO L290 TraceCheckUtils]: 77: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,020 INFO L290 TraceCheckUtils]: 76: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,020 INFO L272 TraceCheckUtils]: 75: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:03:00,021 INFO L290 TraceCheckUtils]: 74: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} assume !false; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} is VALID [2022-04-28 13:03:00,023 INFO L290 TraceCheckUtils]: 73: Hoare triple {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} assume !(~r~0 >= ~d~0); {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} is VALID [2022-04-28 13:03:00,026 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #91#return; {7286#(and (or (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (= (mod main_~d~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 (= (+ (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))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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)))))))} is VALID [2022-04-28 13:03:00,026 INFO L290 TraceCheckUtils]: 71: Hoare triple {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:00,026 INFO L290 TraceCheckUtils]: 70: Hoare triple {7336#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7198#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:00,027 INFO L290 TraceCheckUtils]: 69: Hoare triple {6980#true} ~cond := #in~cond; {7336#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:03:00,027 INFO L272 TraceCheckUtils]: 68: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:03:00,028 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6980#true} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #89#return; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-28 13:03:00,028 INFO L290 TraceCheckUtils]: 66: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,028 INFO L290 TraceCheckUtils]: 65: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,028 INFO L290 TraceCheckUtils]: 64: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,028 INFO L272 TraceCheckUtils]: 63: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:03:00,029 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6980#true} {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} #87#return; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-28 13:03:00,029 INFO L290 TraceCheckUtils]: 61: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,029 INFO L290 TraceCheckUtils]: 60: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,029 INFO L290 TraceCheckUtils]: 59: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,029 INFO L272 TraceCheckUtils]: 58: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:03:00,031 INFO L290 TraceCheckUtils]: 57: Hoare triple {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} assume !false; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-28 13:03:00,035 INFO L290 TraceCheckUtils]: 56: Hoare triple {7249#(= (+ (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; {7326#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (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))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~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 (not (< main_~p~0 0)) (and (or (= (mod main_~d~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 (= (+ (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 (= (mod main_~d~0 2) 0)))) (= (mod main_~p~0 2) 0))))} is VALID [2022-04-28 13:03:00,036 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,036 INFO L290 TraceCheckUtils]: 54: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,036 INFO L290 TraceCheckUtils]: 53: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,036 INFO L290 TraceCheckUtils]: 52: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,036 INFO L272 TraceCheckUtils]: 51: Hoare triple {7249#(= (+ (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)); {6980#true} is VALID [2022-04-28 13:03:00,036 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,037 INFO L290 TraceCheckUtils]: 48: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,037 INFO L290 TraceCheckUtils]: 47: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,037 INFO L272 TraceCheckUtils]: 46: Hoare triple {7249#(= (+ (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)); {6980#true} is VALID [2022-04-28 13:03:00,037 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,037 INFO L290 TraceCheckUtils]: 44: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,037 INFO L290 TraceCheckUtils]: 43: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,037 INFO L290 TraceCheckUtils]: 42: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,037 INFO L272 TraceCheckUtils]: 41: Hoare triple {7249#(= (+ (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)); {6980#true} is VALID [2022-04-28 13:03:00,038 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,038 INFO L290 TraceCheckUtils]: 39: Hoare triple {7249#(= (+ (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; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,039 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #91#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,039 INFO L290 TraceCheckUtils]: 37: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,039 INFO L290 TraceCheckUtils]: 36: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,039 INFO L290 TraceCheckUtils]: 35: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,039 INFO L272 TraceCheckUtils]: 34: Hoare triple {7249#(= (+ (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)); {6980#true} is VALID [2022-04-28 13:03:00,039 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #89#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,039 INFO L290 TraceCheckUtils]: 32: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,040 INFO L272 TraceCheckUtils]: 29: Hoare triple {7249#(= (+ (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)); {6980#true} is VALID [2022-04-28 13:03:00,040 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6980#true} {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #87#return; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,040 INFO L290 TraceCheckUtils]: 26: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,040 INFO L290 TraceCheckUtils]: 25: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,041 INFO L272 TraceCheckUtils]: 24: Hoare triple {7249#(= (+ (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)); {6980#true} is VALID [2022-04-28 13:03:00,041 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,041 INFO L290 TraceCheckUtils]: 22: Hoare triple {6980#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7249#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:00,041 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6980#true} {6980#true} #85#return; {6980#true} is VALID [2022-04-28 13:03:00,041 INFO L290 TraceCheckUtils]: 20: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 18: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L272 TraceCheckUtils]: 17: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6980#true} {6980#true} #83#return; {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L272 TraceCheckUtils]: 12: Hoare triple {6980#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6980#true} {6980#true} #81#return; {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#true} assume !(0 == ~cond); {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#true} ~cond := #in~cond; {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L272 TraceCheckUtils]: 6: Hoare triple {6980#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {6980#true} is VALID [2022-04-28 13:03:00,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#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; {6980#true} is VALID [2022-04-28 13:03:00,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {6980#true} call #t~ret6 := main(); {6980#true} is VALID [2022-04-28 13:03:00,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6980#true} {6980#true} #101#return; {6980#true} is VALID [2022-04-28 13:03:00,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {6980#true} assume true; {6980#true} is VALID [2022-04-28 13:03:00,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {6980#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {6980#true} is VALID [2022-04-28 13:03:00,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {6980#true} call ULTIMATE.init(); {6980#true} is VALID [2022-04-28 13:03:00,043 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-28 13:03:00,043 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:03:00,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1775121480] [2022-04-28 13:03:00,044 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:03:00,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [339917158] [2022-04-28 13:03:00,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [339917158] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:03:00,044 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:03:00,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-28 13:03:00,044 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:03:00,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1157115607] [2022-04-28 13:03:00,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1157115607] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:03:00,044 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:03:00,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:03:00,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1375182560] [2022-04-28 13:03:00,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:03:00,045 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 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 92 [2022-04-28 13:03:00,045 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:03:00,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 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 13:03:00,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:00,095 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:03:00,095 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:03:00,095 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:03:00,095 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-28 13:03:00,095 INFO L87 Difference]: Start difference. First operand 88 states and 102 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 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 13:03:08,105 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 13:03:10,119 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 13:03:12,198 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=false, quantifiers [] [2022-04-28 13:03:12,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:12,207 INFO L93 Difference]: Finished difference Result 112 states and 130 transitions. [2022-04-28 13:03:12,207 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 13:03:12,207 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 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 92 [2022-04-28 13:03:12,207 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:03:12,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 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 13:03:12,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-28 13:03:12,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 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 13:03:12,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2022-04-28 13:03:12,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2022-04-28 13:03:12,335 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:12,337 INFO L225 Difference]: With dead ends: 112 [2022-04-28 13:03:12,337 INFO L226 Difference]: Without dead ends: 100 [2022-04-28 13:03:12,337 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 167 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 34.3s TimeCoverageRelationStatistics Valid=59, Invalid=213, Unknown=0, NotChecked=0, Total=272 [2022-04-28 13:03:12,337 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 28 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 259 mSolverCounterSat, 34 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 296 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 259 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.8s IncrementalHoareTripleChecker+Time [2022-04-28 13:03:12,338 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 162 Invalid, 296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 259 Invalid, 3 Unknown, 0 Unchecked, 6.8s Time] [2022-04-28 13:03:12,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-28 13:03:12,386 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 99. [2022-04-28 13:03:12,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:03:12,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 13:03:12,387 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 13:03:12,387 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 13:03:12,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:12,390 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-28 13:03:12,390 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-28 13:03:12,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:03:12,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:03:12,391 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-28 13:03:12,391 INFO L87 Difference]: Start difference. First operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) Second operand 100 states. [2022-04-28 13:03:12,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:12,394 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2022-04-28 13:03:12,394 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2022-04-28 13:03:12,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:03:12,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:03:12,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:03:12,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:03:12,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 59 states have (on average 1.11864406779661) internal successors, (66), 63 states have internal predecessors, (66), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 21 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 13:03:12,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 116 transitions. [2022-04-28 13:03:12,397 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 116 transitions. Word has length 92 [2022-04-28 13:03:12,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:03:12,397 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 116 transitions. [2022-04-28 13:03:12,398 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 5 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 13:03:12,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 116 transitions. [2022-04-28 13:03:12,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:12,565 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 116 transitions. [2022-04-28 13:03:12,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-28 13:03:12,566 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:03:12,566 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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 13:03:12,586 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 13:03:12,779 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 13:03:12,780 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:03:12,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:03:12,780 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 7 times [2022-04-28 13:03:12,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:03:12,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1170948179] [2022-04-28 13:03:12,780 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:03:12,781 INFO L85 PathProgramCache]: Analyzing trace with hash -278824083, now seen corresponding path program 8 times [2022-04-28 13:03:12,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:03:12,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166731263] [2022-04-28 13:03:12,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:03:12,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:03:12,792 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:03:12,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1318949058] [2022-04-28 13:03:12,792 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:03:12,792 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:03:12,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:03:12,793 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 13:03:12,794 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 13:03:12,872 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:03:12,873 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:03:12,874 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 13:03:12,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:03:12,891 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:03:14,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-28 13:03:14,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {8172#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {8172#true} is VALID [2022-04-28 13:03:14,963 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,963 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-28 13:03:14,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-28 13:03:14,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {8172#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; {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,964 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,965 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-28 13:03:14,965 INFO L272 TraceCheckUtils]: 17: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,965 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,965 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,965 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,965 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-28 13:03:14,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {8172#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 13:03:14,967 INFO L290 TraceCheckUtils]: 23: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !false; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 13:03:14,967 INFO L272 TraceCheckUtils]: 24: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,967 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,967 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,968 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,968 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #87#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 13:03:14,968 INFO L272 TraceCheckUtils]: 29: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,968 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,969 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,969 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,969 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #89#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 13:03:14,969 INFO L272 TraceCheckUtils]: 34: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,970 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,970 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,970 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,970 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8172#true} {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} #91#return; {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} is VALID [2022-04-28 13:03:14,972 INFO L290 TraceCheckUtils]: 39: Hoare triple {8243#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 0 main_~r~0) (< main_~r~0 4294967296) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 13:03:14,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} assume !false; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 13:03:14,973 INFO L272 TraceCheckUtils]: 41: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,973 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,973 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,973 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,973 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #87#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 13:03:14,974 INFO L272 TraceCheckUtils]: 46: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,974 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,974 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,974 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,974 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #89#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 13:03:14,975 INFO L272 TraceCheckUtils]: 51: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,975 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,975 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,975 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,975 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8172#true} {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} #91#return; {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} is VALID [2022-04-28 13:03:14,977 INFO L290 TraceCheckUtils]: 56: Hoare triple {8295#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= 0 main_~r~0) (= main_~p~0 2) (< main_~r~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 13:03:14,977 INFO L290 TraceCheckUtils]: 57: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !false; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 13:03:14,977 INFO L272 TraceCheckUtils]: 58: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,977 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,978 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,978 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,978 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #87#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 13:03:14,978 INFO L272 TraceCheckUtils]: 63: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,979 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,979 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,979 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,979 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #89#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 13:03:14,979 INFO L272 TraceCheckUtils]: 68: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,980 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,980 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,980 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,980 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8172#true} {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} #91#return; {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} is VALID [2022-04-28 13:03:14,981 INFO L290 TraceCheckUtils]: 73: Hoare triple {8347#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< main_~r~0 4294967296) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 13:03:14,982 INFO L290 TraceCheckUtils]: 74: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !false; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 13:03:14,982 INFO L272 TraceCheckUtils]: 75: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,982 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,982 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,982 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,983 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8172#true} {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #93#return; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 13:03:14,983 INFO L272 TraceCheckUtils]: 80: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,983 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,983 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,983 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,984 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8172#true} {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #95#return; {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 13:03:14,985 INFO L290 TraceCheckUtils]: 85: Hoare triple {8399#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (< (* 2 (mod main_~B~0 4294967296)) main_~d~0) (= main_~p~0 4) (< (* 2 (mod main_~B~0 4294967296)) 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); {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 13:03:14,986 INFO L290 TraceCheckUtils]: 86: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 13:03:14,986 INFO L290 TraceCheckUtils]: 87: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} assume !false; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 13:03:14,987 INFO L272 TraceCheckUtils]: 88: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:14,987 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:14,987 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:14,987 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:14,988 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8172#true} {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} #93#return; {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} is VALID [2022-04-28 13:03:14,988 INFO L272 TraceCheckUtils]: 93: Hoare triple {8436#(and (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (< 0 (* 2 (mod main_~B~0 4294967296))) (< (* 2 (mod main_~B~0 4294967296)) 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:03:14,989 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:14,989 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-28 13:03:14,989 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-28 13:03:14,989 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-28 13:03:14,989 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:03:18,330 INFO L290 TraceCheckUtils]: 96: Hoare triple {8173#false} assume !false; {8173#false} is VALID [2022-04-28 13:03:18,331 INFO L290 TraceCheckUtils]: 95: Hoare triple {8465#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8173#false} is VALID [2022-04-28 13:03:18,331 INFO L290 TraceCheckUtils]: 94: Hoare triple {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8465#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:18,332 INFO L272 TraceCheckUtils]: 93: Hoare triple {8481#(= 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)); {8461#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:03:18,335 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8172#true} {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:18,335 INFO L290 TraceCheckUtils]: 91: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,335 INFO L290 TraceCheckUtils]: 90: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,335 INFO L290 TraceCheckUtils]: 89: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,336 INFO L272 TraceCheckUtils]: 88: Hoare triple {8481#(= 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)); {8172#true} is VALID [2022-04-28 13:03:18,336 INFO L290 TraceCheckUtils]: 87: Hoare triple {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:18,336 INFO L290 TraceCheckUtils]: 86: Hoare triple {8481#(= 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; {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:18,356 INFO L290 TraceCheckUtils]: 85: Hoare triple {8506#(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); {8481#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:03:18,357 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8172#true} {8506#(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)))))} #95#return; {8506#(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 13:03:18,357 INFO L290 TraceCheckUtils]: 83: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,357 INFO L290 TraceCheckUtils]: 82: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,357 INFO L290 TraceCheckUtils]: 81: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,357 INFO L272 TraceCheckUtils]: 80: Hoare triple {8506#(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)); {8172#true} is VALID [2022-04-28 13:03:18,358 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8172#true} {8506#(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)))))} #93#return; {8506#(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 13:03:18,358 INFO L290 TraceCheckUtils]: 78: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,358 INFO L290 TraceCheckUtils]: 77: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,358 INFO L290 TraceCheckUtils]: 76: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,358 INFO L272 TraceCheckUtils]: 75: Hoare triple {8506#(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)); {8172#true} is VALID [2022-04-28 13:03:18,360 INFO L290 TraceCheckUtils]: 74: Hoare triple {8506#(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 !false; {8506#(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 13:03:18,361 INFO L290 TraceCheckUtils]: 73: Hoare triple {8543#(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); {8506#(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 13:03:18,361 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8172#true} {8543#(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))))))} #91#return; {8543#(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 13:03:18,362 INFO L290 TraceCheckUtils]: 71: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,362 INFO L290 TraceCheckUtils]: 70: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,362 INFO L290 TraceCheckUtils]: 69: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,362 INFO L272 TraceCheckUtils]: 68: Hoare triple {8543#(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)); {8172#true} is VALID [2022-04-28 13:03:18,363 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8172#true} {8543#(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))))))} #89#return; {8543#(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 13:03:18,363 INFO L290 TraceCheckUtils]: 66: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,363 INFO L290 TraceCheckUtils]: 65: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,363 INFO L290 TraceCheckUtils]: 64: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,363 INFO L272 TraceCheckUtils]: 63: Hoare triple {8543#(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)); {8172#true} is VALID [2022-04-28 13:03:18,364 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8172#true} {8543#(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))))))} #87#return; {8543#(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 13:03:18,364 INFO L290 TraceCheckUtils]: 61: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,364 INFO L290 TraceCheckUtils]: 60: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,364 INFO L290 TraceCheckUtils]: 59: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,364 INFO L272 TraceCheckUtils]: 58: Hoare triple {8543#(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)); {8172#true} is VALID [2022-04-28 13:03:18,365 INFO L290 TraceCheckUtils]: 57: Hoare triple {8543#(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 !false; {8543#(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 13:03:18,370 INFO L290 TraceCheckUtils]: 56: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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; {8543#(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 13:03:18,371 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:03:18,371 INFO L290 TraceCheckUtils]: 54: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,371 INFO L290 TraceCheckUtils]: 53: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,371 INFO L290 TraceCheckUtils]: 52: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,371 INFO L272 TraceCheckUtils]: 51: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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)); {8172#true} is VALID [2022-04-28 13:03:18,372 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:03:18,372 INFO L290 TraceCheckUtils]: 49: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,372 INFO L290 TraceCheckUtils]: 48: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,372 INFO L290 TraceCheckUtils]: 47: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,372 INFO L272 TraceCheckUtils]: 46: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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)); {8172#true} is VALID [2022-04-28 13:03:18,373 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8172#true} {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:03:18,373 INFO L290 TraceCheckUtils]: 44: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,373 INFO L290 TraceCheckUtils]: 43: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,373 INFO L290 TraceCheckUtils]: 42: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,373 INFO L272 TraceCheckUtils]: 41: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~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)); {8172#true} is VALID [2022-04-28 13:03:18,374 INFO L290 TraceCheckUtils]: 40: Hoare triple {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:03:18,376 INFO L290 TraceCheckUtils]: 39: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8595#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 13:03:18,376 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #91#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:03:18,376 INFO L290 TraceCheckUtils]: 37: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,376 INFO L290 TraceCheckUtils]: 36: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,377 INFO L290 TraceCheckUtils]: 35: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,377 INFO L272 TraceCheckUtils]: 34: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:18,377 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #89#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:03:18,377 INFO L290 TraceCheckUtils]: 32: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,378 INFO L290 TraceCheckUtils]: 31: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,378 INFO L272 TraceCheckUtils]: 29: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:18,378 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8172#true} {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} #87#return; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:03:18,378 INFO L290 TraceCheckUtils]: 27: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,379 INFO L290 TraceCheckUtils]: 26: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,379 INFO L290 TraceCheckUtils]: 25: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,379 INFO L272 TraceCheckUtils]: 24: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:18,379 INFO L290 TraceCheckUtils]: 23: Hoare triple {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} assume !false; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:03:18,380 INFO L290 TraceCheckUtils]: 22: Hoare triple {8172#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8647#(or (<= (* main_~d~0 4) main_~r~0) (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2)) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:03:18,380 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8172#true} {8172#true} #85#return; {8172#true} is VALID [2022-04-28 13:03:18,380 INFO L290 TraceCheckUtils]: 20: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,380 INFO L290 TraceCheckUtils]: 18: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,380 INFO L272 TraceCheckUtils]: 17: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8172#true} {8172#true} #83#return; {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L272 TraceCheckUtils]: 12: Hoare triple {8172#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {8172#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8172#true} {8172#true} #81#return; {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {8172#true} assume !(0 == ~cond); {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {8172#true} ~cond := #in~cond; {8172#true} is VALID [2022-04-28 13:03:18,381 INFO L272 TraceCheckUtils]: 6: Hoare triple {8172#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {8172#true} is VALID [2022-04-28 13:03:18,382 INFO L290 TraceCheckUtils]: 5: Hoare triple {8172#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; {8172#true} is VALID [2022-04-28 13:03:18,382 INFO L272 TraceCheckUtils]: 4: Hoare triple {8172#true} call #t~ret6 := main(); {8172#true} is VALID [2022-04-28 13:03:18,382 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8172#true} {8172#true} #101#return; {8172#true} is VALID [2022-04-28 13:03:18,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {8172#true} assume true; {8172#true} is VALID [2022-04-28 13:03:18,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {8172#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {8172#true} is VALID [2022-04-28 13:03:18,382 INFO L272 TraceCheckUtils]: 0: Hoare triple {8172#true} call ULTIMATE.init(); {8172#true} is VALID [2022-04-28 13:03:18,383 INFO L134 CoverageAnalysis]: Checked inductivity of 318 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-28 13:03:18,383 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:03:18,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [166731263] [2022-04-28 13:03:18,383 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:03:18,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1318949058] [2022-04-28 13:03:18,383 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1318949058] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:03:18,383 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:03:18,383 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 13:03:18,384 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:03:18,384 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1170948179] [2022-04-28 13:03:18,384 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1170948179] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:03:18,384 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:03:18,384 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 13:03:18,384 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1823396364] [2022-04-28 13:03:18,384 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:03:18,385 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 97 [2022-04-28 13:03:18,385 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:03:18,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:03:18,450 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 13:03:18,450 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 13:03:18,450 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:03:18,451 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 13:03:18,451 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2022-04-28 13:03:18,451 INFO L87 Difference]: Start difference. First operand 99 states and 116 transitions. Second operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:03:20,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:20,239 INFO L93 Difference]: Finished difference Result 177 states and 223 transitions. [2022-04-28 13:03:20,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 13:03:20,239 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 97 [2022-04-28 13:03:20,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:03:20,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:03:20,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-28 13:03:20,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:03:20,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 116 transitions. [2022-04-28 13:03:20,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 116 transitions. [2022-04-28 13:03:20,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:20,409 INFO L225 Difference]: With dead ends: 177 [2022-04-28 13:03:20,409 INFO L226 Difference]: Without dead ends: 138 [2022-04-28 13:03:20,409 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 180 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=73, Invalid=199, Unknown=0, NotChecked=0, Total=272 [2022-04-28 13:03:20,410 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 13 mSDsluCounter, 244 mSDsCounter, 0 mSdLazyCounter, 292 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 306 SdHoareTripleChecker+Invalid, 309 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 292 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 13:03:20,410 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 306 Invalid, 309 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 292 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 13:03:20,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-28 13:03:20,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 138. [2022-04-28 13:03:20,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:03:20,521 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 13:03:20,521 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 13:03:20,521 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 13:03:20,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:20,525 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-28 13:03:20,525 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-28 13:03:20,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:03:20,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:03:20,526 INFO L74 IsIncluded]: Start isIncluded. First operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 138 states. [2022-04-28 13:03:20,527 INFO L87 Difference]: Start difference. First operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) Second operand 138 states. [2022-04-28 13:03:20,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:03:20,531 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2022-04-28 13:03:20,531 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-28 13:03:20,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:03:20,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:03:20,531 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:03:20,532 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:03:20,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 138 states, 82 states have (on average 1.1219512195121952) internal successors, (92), 88 states have internal predecessors, (92), 39 states have call successors, (39), 17 states have call predecessors, (39), 16 states have return successors, (36), 32 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-28 13:03:20,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 167 transitions. [2022-04-28 13:03:20,536 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 167 transitions. Word has length 97 [2022-04-28 13:03:20,536 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:03:20,536 INFO L495 AbstractCegarLoop]: Abstraction has 138 states and 167 transitions. [2022-04-28 13:03:20,537 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-28 13:03:20,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 138 states and 167 transitions. [2022-04-28 13:03:20,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:03:20,792 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 167 transitions. [2022-04-28 13:03:20,793 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-28 13:03:20,793 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:03:20,793 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 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, 1, 1] [2022-04-28 13:03:20,818 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 13:03:21,006 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 13:03:21,007 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:03:21,007 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:03:21,007 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 9 times [2022-04-28 13:03:21,007 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:03:21,007 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1478856222] [2022-04-28 13:03:21,008 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:03:21,008 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 10 times [2022-04-28 13:03:21,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:03:21,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [72138828] [2022-04-28 13:03:21,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:03:21,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:03:21,018 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:03:21,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [297268691] [2022-04-28 13:03:21,019 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:03:21,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:03:21,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:03:21,020 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 13:03:21,023 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 13:03:21,076 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:03:21,077 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:03:21,078 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 13:03:21,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:03:21,104 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:03:54,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {9679#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {9679#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; {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,323 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-28 13:03:54,323 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-28 13:03:54,323 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,323 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,323 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,323 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-28 13:03:54,323 INFO L272 TraceCheckUtils]: 17: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,324 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,324 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,324 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-28 13:03:54,328 INFO L290 TraceCheckUtils]: 22: Hoare triple {9679#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:54,329 INFO L290 TraceCheckUtils]: 23: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:54,329 INFO L272 TraceCheckUtils]: 24: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,329 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,329 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,329 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,330 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9679#true} {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:54,330 INFO L272 TraceCheckUtils]: 29: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,330 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,330 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,330 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,330 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9679#true} {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:54,330 INFO L272 TraceCheckUtils]: 34: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,331 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,331 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,331 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,331 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9679#true} {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:03:54,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {9750#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:54,334 INFO L290 TraceCheckUtils]: 40: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:54,334 INFO L272 TraceCheckUtils]: 41: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,334 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,334 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,335 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:54,335 INFO L272 TraceCheckUtils]: 46: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~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)); {9679#true} is VALID [2022-04-28 13:03:54,335 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,335 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,335 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,335 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:54,335 INFO L272 TraceCheckUtils]: 51: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~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)); {9679#true} is VALID [2022-04-28 13:03:54,336 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,336 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,336 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,336 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9679#true} {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:03:54,338 INFO L290 TraceCheckUtils]: 56: Hoare triple {9802#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~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; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,338 INFO L290 TraceCheckUtils]: 57: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,339 INFO L272 TraceCheckUtils]: 58: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,339 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,339 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,339 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,339 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #87#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,340 INFO L272 TraceCheckUtils]: 63: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,340 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,340 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,340 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,340 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #89#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,340 INFO L272 TraceCheckUtils]: 68: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,340 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,340 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,341 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,341 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9679#true} {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #91#return; {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,342 INFO L290 TraceCheckUtils]: 73: Hoare triple {9854#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,342 INFO L290 TraceCheckUtils]: 74: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,342 INFO L272 TraceCheckUtils]: 75: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) 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)); {9679#true} is VALID [2022-04-28 13:03:54,342 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,342 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,342 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,343 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9679#true} {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #93#return; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,343 INFO L272 TraceCheckUtils]: 80: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,343 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,343 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,343 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,344 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9679#true} {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #95#return; {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 13:03:54,351 INFO L290 TraceCheckUtils]: 85: Hoare triple {9906#(and (<= (div (div (* (- 1) main_~d~0) (- 2)) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (not (<= main_~d~0 main_~r~0)) (= (mod (div (- main_~d~0) (- 2)) 2) 0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (<= (div (* (- 1) 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); {9943#(and (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:03:54,353 INFO L290 TraceCheckUtils]: 86: Hoare triple {9943#(and (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} is VALID [2022-04-28 13:03:54,354 INFO L290 TraceCheckUtils]: 87: Hoare triple {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} assume !false; {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} is VALID [2022-04-28 13:03:54,354 INFO L272 TraceCheckUtils]: 88: Hoare triple {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,354 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {9957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:54,355 INFO L290 TraceCheckUtils]: 90: Hoare triple {9957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:54,355 INFO L290 TraceCheckUtils]: 91: Hoare triple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:03:54,356 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} {9947#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (* (- 1) main_~d~0) (- 2)) (+ (div main_~d~0 2) 1)) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (* (- 1) main_~d~0) (- 2)) (+ (mod main_~B~0 4294967296) 1)))} #93#return; {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:03:54,356 INFO L272 TraceCheckUtils]: 93: Hoare triple {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:03:54,356 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:03:54,356 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:03:54,356 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:03:54,357 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9679#true} {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} #95#return; {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:03:54,359 INFO L290 TraceCheckUtils]: 98: Hoare triple {9968#(and (= main_~q~0 main_~p~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (- 2)) (+ (div main_~d~0 2) 1)) (<= 0 main_~r~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 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); {9987#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 1)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:03:54,361 INFO L290 TraceCheckUtils]: 99: Hoare triple {9987#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2) 1)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:03:54,362 INFO L290 TraceCheckUtils]: 100: Hoare triple {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} assume !false; {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:03:54,363 INFO L272 TraceCheckUtils]: 101: Hoare triple {9991#(and (= main_~q~0 3) (<= 0 main_~r~0) (< (div (* (- 1) (div (+ (- 1) (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (= (+ main_~r~0 (* 3 (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)); {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:03:54,364 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:03:54,364 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-28 13:03:54,364 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-28 13:03:54,372 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 58 proven. 28 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 13:03:54,372 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:05:50,798 INFO L290 TraceCheckUtils]: 104: Hoare triple {9680#false} assume !false; {9680#false} is VALID [2022-04-28 13:05:50,799 INFO L290 TraceCheckUtils]: 103: Hoare triple {10002#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9680#false} is VALID [2022-04-28 13:05:50,799 INFO L290 TraceCheckUtils]: 102: Hoare triple {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10002#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:05:50,812 INFO L272 TraceCheckUtils]: 101: Hoare triple {10018#(= (+ 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)); {9998#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:05:50,813 INFO L290 TraceCheckUtils]: 100: Hoare triple {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:05:50,815 INFO L290 TraceCheckUtils]: 99: Hoare triple {10025#(or (not (<= main_~d~0 main_~r~0)) (= (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; {10018#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:05:50,829 INFO L290 TraceCheckUtils]: 98: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~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); {10025#(or (not (<= main_~d~0 main_~r~0)) (= (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 13:05:50,830 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9679#true} {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} #95#return; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:05:50,830 INFO L290 TraceCheckUtils]: 96: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:50,830 INFO L290 TraceCheckUtils]: 95: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:50,830 INFO L290 TraceCheckUtils]: 94: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:50,830 INFO L272 TraceCheckUtils]: 93: Hoare triple {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:50,831 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} #93#return; {10029#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-28 13:05:50,831 INFO L290 TraceCheckUtils]: 91: Hoare triple {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:05:50,832 INFO L290 TraceCheckUtils]: 90: Hoare triple {10058#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:05:50,832 INFO L290 TraceCheckUtils]: 89: Hoare triple {9679#true} ~cond := #in~cond; {10058#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 13:05:50,832 INFO L272 TraceCheckUtils]: 88: Hoare triple {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ 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)); {9679#true} is VALID [2022-04-28 13:05:50,834 INFO L290 TraceCheckUtils]: 87: Hoare triple {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} assume !false; {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 13:05:50,838 INFO L290 TraceCheckUtils]: 86: Hoare triple {10068#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (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) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (= (+ (* (- 1) main_~d~0) main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10048#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0))) (not (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))} is VALID [2022-04-28 13:05:51,109 INFO L290 TraceCheckUtils]: 85: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} 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); {10068#(or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (not (< main_~p~0 0)) (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (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) (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))))) (not (<= (+ (div main_~d~0 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (= (+ (* (- 1) main_~d~0) main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 13:05:51,113 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9679#true} {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} #95#return; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-28 13:05:51,114 INFO L290 TraceCheckUtils]: 83: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,114 INFO L290 TraceCheckUtils]: 82: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,114 INFO L290 TraceCheckUtils]: 81: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,114 INFO L272 TraceCheckUtils]: 80: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,115 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9679#true} {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} #93#return; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-28 13:05:51,116 INFO L290 TraceCheckUtils]: 78: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,116 INFO L290 TraceCheckUtils]: 77: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,116 INFO L290 TraceCheckUtils]: 76: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,116 INFO L272 TraceCheckUtils]: 75: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,122 INFO L290 TraceCheckUtils]: 74: Hoare triple {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} assume !false; {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-28 13:05:51,142 INFO L290 TraceCheckUtils]: 73: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {10072#(and (or (and (or (and (not (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0)) (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))))) (not (< main_~p~0 0)) (and (or (not (< main_~d~0 0)) (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (or (not (= (+ (div main_~d~0 2) 1) (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))))) (or (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296)) 1) (mod main_~A~0 4294967296))) (= (mod (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) 2) 0) (not (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (or (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 1) (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))))))))))} is VALID [2022-04-28 13:05:51,143 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #91#return; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:05:51,143 INFO L290 TraceCheckUtils]: 71: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,143 INFO L290 TraceCheckUtils]: 70: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,143 INFO L290 TraceCheckUtils]: 69: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,144 INFO L272 TraceCheckUtils]: 68: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~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)); {9679#true} is VALID [2022-04-28 13:05:51,144 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #89#return; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:05:51,145 INFO L290 TraceCheckUtils]: 66: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,145 INFO L290 TraceCheckUtils]: 65: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,145 INFO L290 TraceCheckUtils]: 64: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,145 INFO L272 TraceCheckUtils]: 63: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,146 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9679#true} {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} #87#return; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:05:51,146 INFO L290 TraceCheckUtils]: 61: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,146 INFO L290 TraceCheckUtils]: 60: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,146 INFO L290 TraceCheckUtils]: 59: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,146 INFO L272 TraceCheckUtils]: 58: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,150 INFO L290 TraceCheckUtils]: 57: Hoare triple {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} assume !false; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:05:51,187 INFO L290 TraceCheckUtils]: 56: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10109#(or (and (or (< (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (mod main_~A~0 4294967296) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (mod main_~B~0 4294967296) (div main_~p~0 2)))) (not (< (div main_~p~0 2) 0)))) (not (= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2)))) (or (not (= (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (div main_~d~0 2))) (not (< main_~p~0 0)) (< main_~d~0 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (- 1) (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (= (mod main_~p~0 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:05:51,188 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #91#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 13:05:51,188 INFO L290 TraceCheckUtils]: 54: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,188 INFO L290 TraceCheckUtils]: 53: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,188 INFO L290 TraceCheckUtils]: 52: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,189 INFO L272 TraceCheckUtils]: 51: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,189 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #89#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 13:05:51,189 INFO L290 TraceCheckUtils]: 49: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,189 INFO L290 TraceCheckUtils]: 48: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,189 INFO L290 TraceCheckUtils]: 47: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,190 INFO L272 TraceCheckUtils]: 46: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,190 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9679#true} {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} #87#return; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 13:05:51,190 INFO L290 TraceCheckUtils]: 44: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,190 INFO L290 TraceCheckUtils]: 43: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,190 INFO L290 TraceCheckUtils]: 42: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,191 INFO L272 TraceCheckUtils]: 41: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,192 INFO L290 TraceCheckUtils]: 40: Hoare triple {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} assume !false; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 13:05:51,201 INFO L290 TraceCheckUtils]: 39: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10161#(or (<= (* main_~d~0 2) main_~r~0) (< (mod main_~A~0 4294967296) (+ (div (+ main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296)))) (and (or (not (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)) (* (div (* main_~p~0 2) 2) (- 1) (mod main_~B~0 4294967296)))))) (not (= (+ (mod main_~A~0 4294967296) main_~d~0) (+ main_~r~0 (* main_~p~0 (mod main_~B~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))))))} is VALID [2022-04-28 13:05:51,202 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #91#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 13:05:51,202 INFO L290 TraceCheckUtils]: 37: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,202 INFO L290 TraceCheckUtils]: 36: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,202 INFO L290 TraceCheckUtils]: 35: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,203 INFO L272 TraceCheckUtils]: 34: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,203 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #89#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 13:05:51,203 INFO L290 TraceCheckUtils]: 32: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,203 INFO L272 TraceCheckUtils]: 29: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,204 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9679#true} {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} #87#return; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 13:05:51,204 INFO L290 TraceCheckUtils]: 27: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,204 INFO L290 TraceCheckUtils]: 26: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,204 INFO L290 TraceCheckUtils]: 25: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,204 INFO L272 TraceCheckUtils]: 24: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} assume !false; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 13:05:51,208 INFO L290 TraceCheckUtils]: 22: Hoare triple {9679#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10213#(or (< (mod main_~A~0 4294967296) (+ (div (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2) (* main_~q~0 (mod main_~B~0 4294967296)) (* 2 (* main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~A~0 4294967296) (+ (mod main_~A~0 4294967296) (* (- 1) main_~q~0 (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (* (- 1) (div (+ (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) 2)) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))) (not (= (+ (* main_~p~0 2 (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (mod main_~A~0 4294967296)) (* main_~q~0 (mod main_~B~0 4294967296))) (* main_~d~0 2))) (<= (+ (* 2 (* main_~q~0 (mod main_~B~0 4294967296))) main_~r~0 (* 4 (* main_~p~0 (mod main_~B~0 4294967296)))) (* (mod main_~A~0 4294967296) 2)))} is VALID [2022-04-28 13:05:51,208 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9679#true} {9679#true} #85#return; {9679#true} is VALID [2022-04-28 13:05:51,208 INFO L290 TraceCheckUtils]: 20: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,208 INFO L290 TraceCheckUtils]: 19: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,208 INFO L290 TraceCheckUtils]: 18: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,208 INFO L272 TraceCheckUtils]: 17: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,208 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9679#true} {9679#true} #83#return; {9679#true} is VALID [2022-04-28 13:05:51,208 INFO L290 TraceCheckUtils]: 15: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L272 TraceCheckUtils]: 12: Hoare triple {9679#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {9679#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9679#true} {9679#true} #81#return; {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {9679#true} assume !(0 == ~cond); {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {9679#true} ~cond := #in~cond; {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L272 TraceCheckUtils]: 6: Hoare triple {9679#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {9679#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; {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L272 TraceCheckUtils]: 4: Hoare triple {9679#true} call #t~ret6 := main(); {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9679#true} {9679#true} #101#return; {9679#true} is VALID [2022-04-28 13:05:51,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {9679#true} assume true; {9679#true} is VALID [2022-04-28 13:05:51,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {9679#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {9679#true} is VALID [2022-04-28 13:05:51,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {9679#true} call ULTIMATE.init(); {9679#true} is VALID [2022-04-28 13:05:51,211 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 58 proven. 28 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-28 13:05:51,211 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:05:51,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [72138828] [2022-04-28 13:05:51,211 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:05:51,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [297268691] [2022-04-28 13:05:51,211 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [297268691] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:05:51,211 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:05:51,211 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-04-28 13:05:51,211 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:05:51,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1478856222] [2022-04-28 13:05:51,211 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1478856222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:05:51,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:05:51,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 13:05:51,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2061041358] [2022-04-28 13:05:51,212 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:05:51,212 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-28 13:05:51,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:05:51,212 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:05:51,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:05:51,305 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 13:05:51,305 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:05:51,305 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 13:05:51,306 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=494, Unknown=0, NotChecked=0, Total=600 [2022-04-28 13:05:51,306 INFO L87 Difference]: Start difference. First operand 138 states and 167 transitions. Second operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:05:57,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:57,671 INFO L93 Difference]: Finished difference Result 184 states and 208 transitions. [2022-04-28 13:05:57,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 13:05:57,671 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) Word has length 105 [2022-04-28 13:05:57,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:05:57,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:05:57,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-28 13:05:57,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:05:57,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 116 transitions. [2022-04-28 13:05:57,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 116 transitions. [2022-04-28 13:05:57,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:05:57,889 INFO L225 Difference]: With dead ends: 184 [2022-04-28 13:05:57,889 INFO L226 Difference]: Without dead ends: 147 [2022-04-28 13:05:57,890 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 211 GetRequests, 185 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 13.0s TimeCoverageRelationStatistics Valid=119, Invalid=583, Unknown=0, NotChecked=0, Total=702 [2022-04-28 13:05:57,890 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 17 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 656 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 289 SdHoareTripleChecker+Invalid, 673 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 656 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-28 13:05:57,890 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 289 Invalid, 673 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 656 Invalid, 0 Unknown, 0 Unchecked, 3.5s Time] [2022-04-28 13:05:57,891 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2022-04-28 13:05:58,026 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 147. [2022-04-28 13:05:58,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:05:58,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:05:58,027 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:05:58,027 INFO L87 Difference]: Start difference. First operand 147 states. Second operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:05:58,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:58,031 INFO L93 Difference]: Finished difference Result 147 states and 167 transitions. [2022-04-28 13:05:58,031 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-28 13:05:58,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:05:58,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:05:58,032 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 147 states. [2022-04-28 13:05:58,032 INFO L87 Difference]: Start difference. First operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 147 states. [2022-04-28 13:05:58,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:05:58,035 INFO L93 Difference]: Finished difference Result 147 states and 167 transitions. [2022-04-28 13:05:58,035 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-28 13:05:58,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:05:58,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:05:58,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:05:58,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:05:58,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 90 states have (on average 1.0888888888888888) internal successors, (98), 95 states have internal predecessors, (98), 36 states have call successors, (36), 21 states have call predecessors, (36), 20 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 13:05:58,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 167 transitions. [2022-04-28 13:05:58,040 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 167 transitions. Word has length 105 [2022-04-28 13:05:58,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:05:58,040 INFO L495 AbstractCegarLoop]: Abstraction has 147 states and 167 transitions. [2022-04-28 13:05:58,040 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 8 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 6 states have call predecessors, (17), 7 states have call successors, (17) [2022-04-28 13:05:58,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 167 transitions. [2022-04-28 13:05:58,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:05:58,357 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 167 transitions. [2022-04-28 13:05:58,359 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-04-28 13:05:58,359 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:05:58,359 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 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 13:05:58,386 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 13:05:58,567 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 13:05:58,567 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:05:58,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:05:58,568 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 11 times [2022-04-28 13:05:58,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:05:58,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1870502102] [2022-04-28 13:05:58,568 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:05:58,568 INFO L85 PathProgramCache]: Analyzing trace with hash -1683530195, now seen corresponding path program 12 times [2022-04-28 13:05:58,569 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:05:58,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231268525] [2022-04-28 13:05:58,569 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:05:58,569 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:05:58,590 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:05:58,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1099076916] [2022-04-28 13:05:58,590 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:05:58,590 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:05:58,590 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:05:58,598 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 13:05:58,625 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 13:05:58,708 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 13:05:58,709 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:05:58,710 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 13:05:58,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:05:58,736 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:06:00,286 INFO L272 TraceCheckUtils]: 0: Hoare triple {11293#true} call ULTIMATE.init(); {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {11293#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11293#true} {11293#true} #101#return; {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L272 TraceCheckUtils]: 4: Hoare triple {11293#true} call #t~ret6 := main(); {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {11293#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; {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L272 TraceCheckUtils]: 6: Hoare triple {11293#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L290 TraceCheckUtils]: 7: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11293#true} {11293#true} #81#return; {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L290 TraceCheckUtils]: 11: Hoare triple {11293#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L272 TraceCheckUtils]: 12: Hoare triple {11293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L290 TraceCheckUtils]: 13: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L290 TraceCheckUtils]: 14: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L290 TraceCheckUtils]: 15: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11293#true} {11293#true} #83#return; {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L272 TraceCheckUtils]: 17: Hoare triple {11293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L290 TraceCheckUtils]: 18: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L290 TraceCheckUtils]: 19: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,287 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11293#true} {11293#true} #85#return; {11293#true} is VALID [2022-04-28 13:06:00,288 INFO L290 TraceCheckUtils]: 22: Hoare triple {11293#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,288 INFO L290 TraceCheckUtils]: 23: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,288 INFO L272 TraceCheckUtils]: 24: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 13:06:00,288 INFO L290 TraceCheckUtils]: 25: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,288 INFO L290 TraceCheckUtils]: 26: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,288 INFO L290 TraceCheckUtils]: 27: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,289 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,289 INFO L272 TraceCheckUtils]: 29: Hoare triple {11364#(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)); {11293#true} is VALID [2022-04-28 13:06:00,289 INFO L290 TraceCheckUtils]: 30: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,289 INFO L290 TraceCheckUtils]: 31: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,289 INFO L290 TraceCheckUtils]: 32: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,290 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,290 INFO L272 TraceCheckUtils]: 34: Hoare triple {11364#(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)); {11293#true} is VALID [2022-04-28 13:06:00,290 INFO L290 TraceCheckUtils]: 35: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,290 INFO L290 TraceCheckUtils]: 36: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,290 INFO L290 TraceCheckUtils]: 37: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,290 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,291 INFO L290 TraceCheckUtils]: 39: Hoare triple {11364#(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; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,291 INFO L290 TraceCheckUtils]: 40: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,291 INFO L272 TraceCheckUtils]: 41: Hoare triple {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 13:06:00,291 INFO L290 TraceCheckUtils]: 42: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,291 INFO L290 TraceCheckUtils]: 43: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,291 INFO L290 TraceCheckUtils]: 44: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,292 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,292 INFO L272 TraceCheckUtils]: 46: Hoare triple {11364#(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)); {11293#true} is VALID [2022-04-28 13:06:00,292 INFO L290 TraceCheckUtils]: 47: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,292 INFO L290 TraceCheckUtils]: 48: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,292 INFO L290 TraceCheckUtils]: 49: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,293 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,293 INFO L272 TraceCheckUtils]: 51: Hoare triple {11364#(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)); {11293#true} is VALID [2022-04-28 13:06:00,293 INFO L290 TraceCheckUtils]: 52: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,293 INFO L290 TraceCheckUtils]: 53: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,293 INFO L290 TraceCheckUtils]: 54: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,294 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11293#true} {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {11364#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 13:06:00,295 INFO L290 TraceCheckUtils]: 56: Hoare triple {11364#(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; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,295 INFO L290 TraceCheckUtils]: 57: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,295 INFO L272 TraceCheckUtils]: 58: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 13:06:00,295 INFO L290 TraceCheckUtils]: 59: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,295 INFO L290 TraceCheckUtils]: 60: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,296 INFO L290 TraceCheckUtils]: 61: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,296 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,296 INFO L272 TraceCheckUtils]: 63: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11293#true} is VALID [2022-04-28 13:06:00,296 INFO L290 TraceCheckUtils]: 64: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,296 INFO L290 TraceCheckUtils]: 65: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,296 INFO L290 TraceCheckUtils]: 66: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,297 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,297 INFO L272 TraceCheckUtils]: 68: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~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)); {11293#true} is VALID [2022-04-28 13:06:00,297 INFO L290 TraceCheckUtils]: 69: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,297 INFO L290 TraceCheckUtils]: 70: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,297 INFO L290 TraceCheckUtils]: 71: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,298 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11293#true} {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,299 INFO L290 TraceCheckUtils]: 73: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,299 INFO L290 TraceCheckUtils]: 74: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,299 INFO L272 TraceCheckUtils]: 75: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11293#true} is VALID [2022-04-28 13:06:00,299 INFO L290 TraceCheckUtils]: 76: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,300 INFO L290 TraceCheckUtils]: 77: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,300 INFO L290 TraceCheckUtils]: 78: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,300 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #87#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,300 INFO L272 TraceCheckUtils]: 80: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 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)); {11293#true} is VALID [2022-04-28 13:06:00,300 INFO L290 TraceCheckUtils]: 81: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,300 INFO L290 TraceCheckUtils]: 82: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,300 INFO L290 TraceCheckUtils]: 83: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,301 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #89#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,301 INFO L272 TraceCheckUtils]: 85: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 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)); {11293#true} is VALID [2022-04-28 13:06:00,301 INFO L290 TraceCheckUtils]: 86: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,301 INFO L290 TraceCheckUtils]: 87: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,301 INFO L290 TraceCheckUtils]: 88: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,302 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #91#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,302 INFO L290 TraceCheckUtils]: 90: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,302 INFO L290 TraceCheckUtils]: 91: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,303 INFO L272 TraceCheckUtils]: 92: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 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)); {11293#true} is VALID [2022-04-28 13:06:00,303 INFO L290 TraceCheckUtils]: 93: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,303 INFO L290 TraceCheckUtils]: 94: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,303 INFO L290 TraceCheckUtils]: 95: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,303 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #93#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,303 INFO L272 TraceCheckUtils]: 97: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 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)); {11293#true} is VALID [2022-04-28 13:06:00,303 INFO L290 TraceCheckUtils]: 98: Hoare triple {11293#true} ~cond := #in~cond; {11293#true} is VALID [2022-04-28 13:06:00,304 INFO L290 TraceCheckUtils]: 99: Hoare triple {11293#true} assume !(0 == ~cond); {11293#true} is VALID [2022-04-28 13:06:00,304 INFO L290 TraceCheckUtils]: 100: Hoare triple {11293#true} assume true; {11293#true} is VALID [2022-04-28 13:06:00,304 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11293#true} {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #95#return; {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,306 INFO L290 TraceCheckUtils]: 102: Hoare triple {11519#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div (- main_~p~0) (- 2)) 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); {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,308 INFO L290 TraceCheckUtils]: 103: Hoare triple {11467#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,308 INFO L290 TraceCheckUtils]: 104: Hoare triple {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} assume !false; {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,308 INFO L272 TraceCheckUtils]: 105: Hoare triple {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~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)); {11293#true} is VALID [2022-04-28 13:06:00,309 INFO L290 TraceCheckUtils]: 106: Hoare triple {11293#true} ~cond := #in~cond; {11620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:06:00,309 INFO L290 TraceCheckUtils]: 107: Hoare triple {11620#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:06:00,309 INFO L290 TraceCheckUtils]: 108: Hoare triple {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:06:00,311 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11624#(not (= |__VERIFIER_assert_#in~cond| 0))} {11610#(and (= main_~q~0 main_~p~0) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= (mod main_~p~0 2) 0))} #93#return; {11631#(and (exists ((main_~A~0 Int)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~p~0 2) 0))} is VALID [2022-04-28 13:06:00,311 INFO L272 TraceCheckUtils]: 110: Hoare triple {11631#(and (exists ((main_~A~0 Int)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) (+ (mod main_~A~0 4294967296) (* (- 1) main_~p~0 (mod main_~B~0 4294967296))))) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11635#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:06:00,312 INFO L290 TraceCheckUtils]: 111: Hoare triple {11635#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11639#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:06:00,312 INFO L290 TraceCheckUtils]: 112: Hoare triple {11639#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11294#false} is VALID [2022-04-28 13:06:00,312 INFO L290 TraceCheckUtils]: 113: Hoare triple {11294#false} assume !false; {11294#false} is VALID [2022-04-28 13:06:00,312 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 96 proven. 4 refuted. 0 times theorem prover too weak. 395 trivial. 0 not checked. [2022-04-28 13:06:00,312 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:06:57,148 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:06:57,148 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [231268525] [2022-04-28 13:06:57,148 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:06:57,148 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1099076916] [2022-04-28 13:06:57,148 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1099076916] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 13:06:57,149 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 13:06:57,149 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 13:06:57,149 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:06:57,149 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1870502102] [2022-04-28 13:06:57,149 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1870502102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:06:57,149 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:06:57,149 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 13:06:57,149 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [331361879] [2022-04-28 13:06:57,149 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:06:57,149 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-28 13:06:57,150 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:06:57,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 13:06:57,225 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 13:06:57,226 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 13:06:57,226 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:06:57,226 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 13:06:57,226 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-28 13:06:57,226 INFO L87 Difference]: Start difference. First operand 147 states and 167 transitions. Second operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 13:06:59,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:59,381 INFO L93 Difference]: Finished difference Result 168 states and 190 transitions. [2022-04-28 13:06:59,381 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 13:06:59,381 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 114 [2022-04-28 13:06:59,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:06:59,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 13:06:59,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-28 13:06:59,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 13:06:59,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2022-04-28 13:06:59,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 103 transitions. [2022-04-28 13:06:59,528 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 13:06:59,531 INFO L225 Difference]: With dead ends: 168 [2022-04-28 13:06:59,531 INFO L226 Difference]: Without dead ends: 156 [2022-04-28 13:06:59,532 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 105 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-28 13:06:59,532 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 19 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 310 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 233 SdHoareTripleChecker+Invalid, 386 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 310 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 65 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:06:59,532 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [25 Valid, 233 Invalid, 386 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 310 Invalid, 0 Unknown, 65 Unchecked, 1.0s Time] [2022-04-28 13:06:59,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-28 13:06:59,677 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 155. [2022-04-28 13:06:59,677 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:06:59,677 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:06:59,678 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:06:59,678 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:06:59,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:59,681 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-04-28 13:06:59,681 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-04-28 13:06:59,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:06:59,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:06:59,682 INFO L74 IsIncluded]: Start isIncluded. First operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 156 states. [2022-04-28 13:06:59,682 INFO L87 Difference]: Start difference. First operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 156 states. [2022-04-28 13:06:59,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:06:59,686 INFO L93 Difference]: Finished difference Result 156 states and 177 transitions. [2022-04-28 13:06:59,686 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 177 transitions. [2022-04-28 13:06:59,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:06:59,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:06:59,686 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:06:59,686 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:06:59,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 155 states, 95 states have (on average 1.0842105263157895) internal successors, (103), 100 states have internal predecessors, (103), 38 states have call successors, (38), 22 states have call predecessors, (38), 21 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-28 13:06:59,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 155 states to 155 states and 176 transitions. [2022-04-28 13:06:59,691 INFO L78 Accepts]: Start accepts. Automaton has 155 states and 176 transitions. Word has length 114 [2022-04-28 13:06:59,691 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:06:59,691 INFO L495 AbstractCegarLoop]: Abstraction has 155 states and 176 transitions. [2022-04-28 13:06:59,691 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-28 13:06:59,691 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 155 states and 176 transitions. [2022-04-28 13:07:00,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:07:00,002 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 176 transitions. [2022-04-28 13:07:00,003 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 13:07:00,003 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:07:00,003 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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 13:07:00,023 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 13:07:00,219 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 13:07:00,219 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:07:00,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:07:00,220 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 3 times [2022-04-28 13:07:00,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:07:00,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1586119961] [2022-04-28 13:07:00,220 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:07:00,220 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 4 times [2022-04-28 13:07:00,221 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:07:00,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1346357312] [2022-04-28 13:07:00,221 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:07:00,221 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:07:00,231 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:07:00,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [477030472] [2022-04-28 13:07:00,232 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:07:00,232 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:07:00,232 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:07:00,233 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 13:07:00,236 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 13:07:00,292 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:07:00,292 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:07:00,293 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-28 13:07:00,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:07:00,315 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:07:26,146 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:07:28,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {12626#true} call ULTIMATE.init(); {12626#true} is VALID [2022-04-28 13:07:28,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {12626#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {12626#true} is VALID [2022-04-28 13:07:28,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12626#true} {12626#true} #101#return; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {12626#true} call #t~ret6 := main(); {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {12626#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; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {12626#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12626#true} {12626#true} #81#return; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {12626#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L272 TraceCheckUtils]: 12: Hoare triple {12626#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L290 TraceCheckUtils]: 13: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L290 TraceCheckUtils]: 14: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L290 TraceCheckUtils]: 15: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12626#true} {12626#true} #83#return; {12626#true} is VALID [2022-04-28 13:07:28,930 INFO L272 TraceCheckUtils]: 17: Hoare triple {12626#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,931 INFO L290 TraceCheckUtils]: 18: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,931 INFO L290 TraceCheckUtils]: 19: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,931 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12626#true} {12626#true} #85#return; {12626#true} is VALID [2022-04-28 13:07:28,931 INFO L290 TraceCheckUtils]: 22: Hoare triple {12626#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,931 INFO L290 TraceCheckUtils]: 23: Hoare triple {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,932 INFO L272 TraceCheckUtils]: 24: Hoare triple {12697#(and (= (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)); {12626#true} is VALID [2022-04-28 13:07:28,932 INFO L290 TraceCheckUtils]: 25: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,932 INFO L290 TraceCheckUtils]: 27: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,932 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,932 INFO L272 TraceCheckUtils]: 29: Hoare triple {12697#(and (= (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)); {12626#true} is VALID [2022-04-28 13:07:28,932 INFO L290 TraceCheckUtils]: 30: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,933 INFO L290 TraceCheckUtils]: 31: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,933 INFO L290 TraceCheckUtils]: 32: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,933 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,933 INFO L272 TraceCheckUtils]: 34: Hoare triple {12697#(and (= (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)); {12626#true} is VALID [2022-04-28 13:07:28,933 INFO L290 TraceCheckUtils]: 35: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,933 INFO L290 TraceCheckUtils]: 36: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,933 INFO L290 TraceCheckUtils]: 37: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,934 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {12626#true} {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {12697#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,935 INFO L290 TraceCheckUtils]: 39: Hoare triple {12697#(and (= (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; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:28,936 INFO L290 TraceCheckUtils]: 40: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:28,936 INFO L272 TraceCheckUtils]: 41: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,936 INFO L290 TraceCheckUtils]: 42: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,936 INFO L290 TraceCheckUtils]: 43: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,936 INFO L290 TraceCheckUtils]: 44: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,937 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #87#return; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:28,937 INFO L272 TraceCheckUtils]: 46: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~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)); {12626#true} is VALID [2022-04-28 13:07:28,937 INFO L290 TraceCheckUtils]: 47: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,937 INFO L290 TraceCheckUtils]: 48: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,937 INFO L290 TraceCheckUtils]: 49: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,937 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #89#return; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:28,937 INFO L272 TraceCheckUtils]: 51: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~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)); {12626#true} is VALID [2022-04-28 13:07:28,937 INFO L290 TraceCheckUtils]: 52: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,938 INFO L290 TraceCheckUtils]: 53: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,938 INFO L290 TraceCheckUtils]: 54: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,938 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12626#true} {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #91#return; {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-28 13:07:28,939 INFO L290 TraceCheckUtils]: 56: Hoare triple {12749#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~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; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,940 INFO L290 TraceCheckUtils]: 57: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,940 INFO L272 TraceCheckUtils]: 58: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,940 INFO L290 TraceCheckUtils]: 59: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,940 INFO L290 TraceCheckUtils]: 60: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,940 INFO L290 TraceCheckUtils]: 61: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,941 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,941 INFO L272 TraceCheckUtils]: 63: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,941 INFO L290 TraceCheckUtils]: 64: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,941 INFO L290 TraceCheckUtils]: 65: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,941 INFO L290 TraceCheckUtils]: 66: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,942 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,942 INFO L272 TraceCheckUtils]: 68: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,942 INFO L290 TraceCheckUtils]: 69: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,942 INFO L290 TraceCheckUtils]: 70: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,942 INFO L290 TraceCheckUtils]: 71: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,942 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12626#true} {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,943 INFO L290 TraceCheckUtils]: 73: Hoare triple {12801#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,943 INFO L290 TraceCheckUtils]: 74: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,943 INFO L272 TraceCheckUtils]: 75: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,943 INFO L290 TraceCheckUtils]: 76: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,943 INFO L290 TraceCheckUtils]: 77: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,944 INFO L290 TraceCheckUtils]: 78: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,944 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {12626#true} {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #93#return; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,944 INFO L272 TraceCheckUtils]: 80: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,944 INFO L290 TraceCheckUtils]: 81: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,944 INFO L290 TraceCheckUtils]: 82: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,944 INFO L290 TraceCheckUtils]: 83: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,945 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {12626#true} {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #95#return; {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:07:28,946 INFO L290 TraceCheckUtils]: 85: Hoare triple {12853#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= 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); {12890#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< main_~r~0 (* main_~d~0 2)) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:07:28,949 INFO L290 TraceCheckUtils]: 86: Hoare triple {12890#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (< main_~r~0 (* main_~d~0 2)) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-28 13:07:28,949 INFO L290 TraceCheckUtils]: 87: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} assume !false; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-28 13:07:28,949 INFO L272 TraceCheckUtils]: 88: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,949 INFO L290 TraceCheckUtils]: 89: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,949 INFO L290 TraceCheckUtils]: 90: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,949 INFO L290 TraceCheckUtils]: 91: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,950 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {12626#true} {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} #93#return; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-28 13:07:28,950 INFO L272 TraceCheckUtils]: 93: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,950 INFO L290 TraceCheckUtils]: 94: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,950 INFO L290 TraceCheckUtils]: 95: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,950 INFO L290 TraceCheckUtils]: 96: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,951 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {12626#true} {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} #95#return; {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 4))))} is VALID [2022-04-28 13:07:28,954 INFO L290 TraceCheckUtils]: 98: Hoare triple {12894#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (<= main_~d~0 (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (< (div (+ (* (- 2) main_~d~0) 1) (- 4)) (+ 1 (div (* main_~d~0 2) 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); {12931#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~r~0)) 4) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:07:28,957 INFO L290 TraceCheckUtils]: 99: Hoare triple {12931#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~r~0)) 4) 1)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (* main_~r~0 2) (mod main_~A~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,958 INFO L290 TraceCheckUtils]: 100: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} assume !false; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,958 INFO L272 TraceCheckUtils]: 101: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,958 INFO L290 TraceCheckUtils]: 102: Hoare triple {12626#true} ~cond := #in~cond; {12626#true} is VALID [2022-04-28 13:07:28,958 INFO L290 TraceCheckUtils]: 103: Hoare triple {12626#true} assume !(0 == ~cond); {12626#true} is VALID [2022-04-28 13:07:28,958 INFO L290 TraceCheckUtils]: 104: Hoare triple {12626#true} assume true; {12626#true} is VALID [2022-04-28 13:07:28,958 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {12626#true} {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} #93#return; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,959 INFO L272 TraceCheckUtils]: 106: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12626#true} is VALID [2022-04-28 13:07:28,959 INFO L290 TraceCheckUtils]: 107: Hoare triple {12626#true} ~cond := #in~cond; {12960#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:07:28,959 INFO L290 TraceCheckUtils]: 108: Hoare triple {12960#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:07:28,959 INFO L290 TraceCheckUtils]: 109: Hoare triple {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 13:07:28,960 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {12964#(not (= |__VERIFIER_assert_#in~cond| 0))} {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} #95#return; {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} is VALID [2022-04-28 13:07:28,961 INFO L290 TraceCheckUtils]: 111: Hoare triple {12935#(and (= (+ main_~p~0 2) main_~q~0) (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {12974#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)))} is VALID [2022-04-28 13:07:28,962 INFO L272 TraceCheckUtils]: 112: Hoare triple {12974#(and (< (+ (* main_~r~0 2) (* main_~d~0 2)) (mod main_~A~0 4294967296)) (<= 0 main_~r~0) (= main_~d~0 (div (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (- 2) main_~q~0) 1) (< (div (+ (* (- 2) (mod main_~A~0 4294967296)) (* main_~r~0 2) (* main_~d~0 2) 1) (- 4)) (+ (div (+ (* (mod main_~A~0 4294967296) 2) (* (- 2) main_~d~0) (* (- 2) main_~r~0)) 4) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12978#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:07:28,962 INFO L290 TraceCheckUtils]: 113: Hoare triple {12978#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12982#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:07:28,963 INFO L290 TraceCheckUtils]: 114: Hoare triple {12982#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12627#false} is VALID [2022-04-28 13:07:28,963 INFO L290 TraceCheckUtils]: 115: Hoare triple {12627#false} assume !false; {12627#false} is VALID [2022-04-28 13:07:28,963 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 71 proven. 29 refuted. 0 times theorem prover too weak. 390 trivial. 0 not checked. [2022-04-28 13:07:28,963 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:07:55,960 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 13:08:54,722 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:08:54,722 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1346357312] [2022-04-28 13:08:54,723 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:08:54,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [477030472] [2022-04-28 13:08:54,723 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [477030472] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 13:08:54,723 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 13:08:54,723 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2022-04-28 13:08:54,723 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:08:54,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1586119961] [2022-04-28 13:08:54,723 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1586119961] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:08:54,723 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:08:54,723 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 13:08:54,724 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [130035779] [2022-04-28 13:08:54,724 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:08:54,724 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 116 [2022-04-28 13:08:54,724 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:08:54,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:08:54,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:08:54,873 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 13:08:54,873 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:08:54,873 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 13:08:54,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=147, Invalid=503, Unknown=0, NotChecked=0, Total=650 [2022-04-28 13:08:54,874 INFO L87 Difference]: Start difference. First operand 155 states and 176 transitions. Second operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:00,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:00,869 INFO L93 Difference]: Finished difference Result 161 states and 181 transitions. [2022-04-28 13:09:00,869 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 13:09:00,869 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 116 [2022-04-28 13:09:00,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:09:00,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:00,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 94 transitions. [2022-04-28 13:09:00,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:00,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 94 transitions. [2022-04-28 13:09:00,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 94 transitions. [2022-04-28 13:09:01,052 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 13:09:01,054 INFO L225 Difference]: With dead ends: 161 [2022-04-28 13:09:01,054 INFO L226 Difference]: Without dead ends: 124 [2022-04-28 13:09:01,055 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 195 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 125 ImplicationChecksByTransitivity, 2.9s TimeCoverageRelationStatistics Valid=160, Invalid=596, Unknown=0, NotChecked=0, Total=756 [2022-04-28 13:09:01,055 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 16 mSDsluCounter, 271 mSDsCounter, 0 mSdLazyCounter, 631 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 314 SdHoareTripleChecker+Invalid, 652 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 631 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.8s IncrementalHoareTripleChecker+Time [2022-04-28 13:09:01,056 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 314 Invalid, 652 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 631 Invalid, 0 Unknown, 0 Unchecked, 3.8s Time] [2022-04-28 13:09:01,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-28 13:09:01,148 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 124. [2022-04-28 13:09:01,148 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:09:01,149 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 13:09:01,149 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 13:09:01,149 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 13:09:01,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:01,151 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2022-04-28 13:09:01,151 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-28 13:09:01,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:09:01,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:09:01,152 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) Second operand 124 states. [2022-04-28 13:09:01,152 INFO L87 Difference]: Start difference. First operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) Second operand 124 states. [2022-04-28 13:09:01,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:01,155 INFO L93 Difference]: Finished difference Result 124 states and 142 transitions. [2022-04-28 13:09:01,155 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-28 13:09:01,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:09:01,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:09:01,155 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:09:01,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:09:01,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 75 states have (on average 1.0933333333333333) internal successors, (82), 79 states have internal predecessors, (82), 31 states have call successors, (31), 18 states have call predecessors, (31), 17 states have return successors, (29), 26 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 13:09:01,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 142 transitions. [2022-04-28 13:09:01,159 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 142 transitions. Word has length 116 [2022-04-28 13:09:01,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:09:01,159 INFO L495 AbstractCegarLoop]: Abstraction has 124 states and 142 transitions. [2022-04-28 13:09:01,159 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.2142857142857144) internal successors, (31), 14 states have internal predecessors, (31), 8 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-04-28 13:09:01,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 142 transitions. [2022-04-28 13:09:01,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:01,394 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 142 transitions. [2022-04-28 13:09:01,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 121 [2022-04-28 13:09:01,395 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:09:01,395 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 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 13:09:01,411 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-28 13:09:01,595 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 13:09:01,596 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:09:01,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:09:01,596 INFO L85 PathProgramCache]: Analyzing trace with hash -1921791003, now seen corresponding path program 5 times [2022-04-28 13:09:01,596 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:09:01,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [138100089] [2022-04-28 13:09:01,597 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:09:01,597 INFO L85 PathProgramCache]: Analyzing trace with hash -1921791003, now seen corresponding path program 6 times [2022-04-28 13:09:01,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:09:01,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [701248617] [2022-04-28 13:09:01,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:09:01,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:09:01,608 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:09:01,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [777718554] [2022-04-28 13:09:01,608 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:09:01,608 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:09:01,609 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:09:01,610 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 13:09:01,612 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 13:09:01,689 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 13:09:01,689 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:09:01,690 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 13:09:01,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:09:01,708 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:09:04,243 INFO L272 TraceCheckUtils]: 0: Hoare triple {14055#true} call ULTIMATE.init(); {14055#true} is VALID [2022-04-28 13:09:04,243 INFO L290 TraceCheckUtils]: 1: Hoare triple {14055#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {14055#true} is VALID [2022-04-28 13:09:04,243 INFO L290 TraceCheckUtils]: 2: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,243 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14055#true} {14055#true} #101#return; {14055#true} is VALID [2022-04-28 13:09:04,243 INFO L272 TraceCheckUtils]: 4: Hoare triple {14055#true} call #t~ret6 := main(); {14055#true} is VALID [2022-04-28 13:09:04,243 INFO L290 TraceCheckUtils]: 5: Hoare triple {14055#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; {14055#true} is VALID [2022-04-28 13:09:04,243 INFO L272 TraceCheckUtils]: 6: Hoare triple {14055#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L290 TraceCheckUtils]: 9: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14055#true} {14055#true} #81#return; {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L290 TraceCheckUtils]: 11: Hoare triple {14055#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L272 TraceCheckUtils]: 12: Hoare triple {14055#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L290 TraceCheckUtils]: 14: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L290 TraceCheckUtils]: 15: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14055#true} {14055#true} #83#return; {14055#true} is VALID [2022-04-28 13:09:04,244 INFO L272 TraceCheckUtils]: 17: Hoare triple {14055#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,247 INFO L290 TraceCheckUtils]: 18: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,247 INFO L290 TraceCheckUtils]: 19: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,247 INFO L290 TraceCheckUtils]: 20: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,247 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14055#true} {14055#true} #85#return; {14055#true} is VALID [2022-04-28 13:09:04,247 INFO L290 TraceCheckUtils]: 22: Hoare triple {14055#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:04,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {14126#(<= 1 main_~p~0)} assume !false; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:04,248 INFO L272 TraceCheckUtils]: 24: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,248 INFO L290 TraceCheckUtils]: 25: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,248 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #87#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:04,249 INFO L272 TraceCheckUtils]: 29: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,249 INFO L290 TraceCheckUtils]: 32: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,249 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #89#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:04,249 INFO L272 TraceCheckUtils]: 34: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,249 INFO L290 TraceCheckUtils]: 35: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,249 INFO L290 TraceCheckUtils]: 37: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,250 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #91#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:04,251 INFO L290 TraceCheckUtils]: 39: Hoare triple {14126#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:04,251 INFO L290 TraceCheckUtils]: 40: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !false; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:04,251 INFO L272 TraceCheckUtils]: 41: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,251 INFO L290 TraceCheckUtils]: 42: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,251 INFO L290 TraceCheckUtils]: 43: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,251 INFO L290 TraceCheckUtils]: 44: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,252 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #87#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:04,252 INFO L272 TraceCheckUtils]: 46: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,252 INFO L290 TraceCheckUtils]: 47: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,252 INFO L290 TraceCheckUtils]: 48: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,252 INFO L290 TraceCheckUtils]: 49: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,252 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #89#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:04,253 INFO L272 TraceCheckUtils]: 51: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,253 INFO L290 TraceCheckUtils]: 52: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,253 INFO L290 TraceCheckUtils]: 53: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,253 INFO L290 TraceCheckUtils]: 54: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,253 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #91#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:04,254 INFO L290 TraceCheckUtils]: 56: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,254 INFO L290 TraceCheckUtils]: 57: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,254 INFO L272 TraceCheckUtils]: 58: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,254 INFO L290 TraceCheckUtils]: 59: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,254 INFO L290 TraceCheckUtils]: 60: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,254 INFO L290 TraceCheckUtils]: 61: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,255 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,255 INFO L272 TraceCheckUtils]: 63: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,255 INFO L290 TraceCheckUtils]: 64: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,255 INFO L290 TraceCheckUtils]: 65: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,255 INFO L290 TraceCheckUtils]: 66: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,256 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,256 INFO L272 TraceCheckUtils]: 68: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,256 INFO L290 TraceCheckUtils]: 69: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,256 INFO L290 TraceCheckUtils]: 70: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,256 INFO L290 TraceCheckUtils]: 71: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,256 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,257 INFO L290 TraceCheckUtils]: 73: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,257 INFO L290 TraceCheckUtils]: 74: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,257 INFO L272 TraceCheckUtils]: 75: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,257 INFO L290 TraceCheckUtils]: 76: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,258 INFO L290 TraceCheckUtils]: 77: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,258 INFO L290 TraceCheckUtils]: 78: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,258 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #87#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,258 INFO L272 TraceCheckUtils]: 80: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,258 INFO L290 TraceCheckUtils]: 81: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,258 INFO L290 TraceCheckUtils]: 82: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,258 INFO L290 TraceCheckUtils]: 83: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,259 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #89#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,259 INFO L272 TraceCheckUtils]: 85: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,259 INFO L290 TraceCheckUtils]: 86: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,259 INFO L290 TraceCheckUtils]: 87: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,259 INFO L290 TraceCheckUtils]: 88: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,259 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #91#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,260 INFO L290 TraceCheckUtils]: 90: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !(~r~0 >= ~d~0); {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,260 INFO L290 TraceCheckUtils]: 91: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} assume !false; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,260 INFO L272 TraceCheckUtils]: 92: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,260 INFO L290 TraceCheckUtils]: 93: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,260 INFO L290 TraceCheckUtils]: 94: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,260 INFO L290 TraceCheckUtils]: 95: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,261 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #93#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,261 INFO L272 TraceCheckUtils]: 97: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,261 INFO L290 TraceCheckUtils]: 98: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,261 INFO L290 TraceCheckUtils]: 99: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,261 INFO L290 TraceCheckUtils]: 100: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,261 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14055#true} {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} #95#return; {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} is VALID [2022-04-28 13:09:04,263 INFO L290 TraceCheckUtils]: 102: Hoare triple {14282#(<= 1 (div (div (div main_~p~0 2) 2) 2))} 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); {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,263 INFO L290 TraceCheckUtils]: 103: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,263 INFO L290 TraceCheckUtils]: 104: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,263 INFO L272 TraceCheckUtils]: 105: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,263 INFO L290 TraceCheckUtils]: 106: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,263 INFO L290 TraceCheckUtils]: 107: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,263 INFO L290 TraceCheckUtils]: 108: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,264 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,264 INFO L272 TraceCheckUtils]: 110: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,264 INFO L290 TraceCheckUtils]: 111: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,264 INFO L290 TraceCheckUtils]: 112: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,264 INFO L290 TraceCheckUtils]: 113: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,265 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:04,265 INFO L290 TraceCheckUtils]: 115: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {14056#false} is VALID [2022-04-28 13:09:04,265 INFO L272 TraceCheckUtils]: 116: Hoare triple {14056#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {14056#false} is VALID [2022-04-28 13:09:04,265 INFO L290 TraceCheckUtils]: 117: Hoare triple {14056#false} ~cond := #in~cond; {14056#false} is VALID [2022-04-28 13:09:04,265 INFO L290 TraceCheckUtils]: 118: Hoare triple {14056#false} assume 0 == ~cond; {14056#false} is VALID [2022-04-28 13:09:04,265 INFO L290 TraceCheckUtils]: 119: Hoare triple {14056#false} assume !false; {14056#false} is VALID [2022-04-28 13:09:04,266 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 62 proven. 4 refuted. 0 times theorem prover too weak. 492 trivial. 0 not checked. [2022-04-28 13:09:04,266 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:09:04,997 INFO L290 TraceCheckUtils]: 119: Hoare triple {14056#false} assume !false; {14056#false} is VALID [2022-04-28 13:09:04,998 INFO L290 TraceCheckUtils]: 118: Hoare triple {14056#false} assume 0 == ~cond; {14056#false} is VALID [2022-04-28 13:09:04,998 INFO L290 TraceCheckUtils]: 117: Hoare triple {14056#false} ~cond := #in~cond; {14056#false} is VALID [2022-04-28 13:09:04,998 INFO L272 TraceCheckUtils]: 116: Hoare triple {14056#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {14056#false} is VALID [2022-04-28 13:09:04,998 INFO L290 TraceCheckUtils]: 115: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {14056#false} is VALID [2022-04-28 13:09:04,998 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #95#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:04,999 INFO L290 TraceCheckUtils]: 113: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,999 INFO L290 TraceCheckUtils]: 112: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:04,999 INFO L290 TraceCheckUtils]: 111: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:04,999 INFO L272 TraceCheckUtils]: 110: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:04,999 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #93#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:04,999 INFO L290 TraceCheckUtils]: 108: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:04,999 INFO L290 TraceCheckUtils]: 107: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,000 INFO L290 TraceCheckUtils]: 106: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,000 INFO L272 TraceCheckUtils]: 105: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,000 INFO L290 TraceCheckUtils]: 104: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !false; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:05,000 INFO L290 TraceCheckUtils]: 103: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:05,001 INFO L290 TraceCheckUtils]: 102: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} 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); {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:05,002 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,002 INFO L290 TraceCheckUtils]: 100: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,002 INFO L290 TraceCheckUtils]: 99: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,002 INFO L290 TraceCheckUtils]: 98: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,002 INFO L272 TraceCheckUtils]: 97: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,003 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,003 INFO L290 TraceCheckUtils]: 95: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,003 INFO L290 TraceCheckUtils]: 94: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,003 INFO L290 TraceCheckUtils]: 93: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,003 INFO L272 TraceCheckUtils]: 92: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,003 INFO L290 TraceCheckUtils]: 91: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,004 INFO L290 TraceCheckUtils]: 90: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,004 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,004 INFO L290 TraceCheckUtils]: 88: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,004 INFO L290 TraceCheckUtils]: 87: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,004 INFO L290 TraceCheckUtils]: 86: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,004 INFO L272 TraceCheckUtils]: 85: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,005 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,005 INFO L290 TraceCheckUtils]: 83: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,005 INFO L290 TraceCheckUtils]: 82: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,005 INFO L290 TraceCheckUtils]: 81: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,005 INFO L272 TraceCheckUtils]: 80: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,016 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {14055#true} {14230#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,017 INFO L290 TraceCheckUtils]: 78: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,017 INFO L290 TraceCheckUtils]: 77: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,017 INFO L290 TraceCheckUtils]: 76: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,017 INFO L272 TraceCheckUtils]: 75: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,017 INFO L290 TraceCheckUtils]: 74: Hoare triple {14230#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,018 INFO L290 TraceCheckUtils]: 73: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14230#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-28 13:09:05,019 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #91#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:05,019 INFO L290 TraceCheckUtils]: 71: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,019 INFO L290 TraceCheckUtils]: 70: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,019 INFO L290 TraceCheckUtils]: 69: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,019 INFO L272 TraceCheckUtils]: 68: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,019 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #89#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:05,019 INFO L290 TraceCheckUtils]: 66: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,019 INFO L290 TraceCheckUtils]: 65: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,020 INFO L290 TraceCheckUtils]: 64: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,020 INFO L272 TraceCheckUtils]: 63: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,020 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {14055#true} {14178#(<= 1 (div main_~p~0 2))} #87#return; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:05,020 INFO L290 TraceCheckUtils]: 61: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,020 INFO L290 TraceCheckUtils]: 60: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,020 INFO L290 TraceCheckUtils]: 59: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,020 INFO L272 TraceCheckUtils]: 58: Hoare triple {14178#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,021 INFO L290 TraceCheckUtils]: 57: Hoare triple {14178#(<= 1 (div main_~p~0 2))} assume !false; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:05,022 INFO L290 TraceCheckUtils]: 56: Hoare triple {14126#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14178#(<= 1 (div main_~p~0 2))} is VALID [2022-04-28 13:09:05,022 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #91#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,022 INFO L290 TraceCheckUtils]: 54: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,022 INFO L290 TraceCheckUtils]: 53: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,023 INFO L290 TraceCheckUtils]: 52: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,023 INFO L272 TraceCheckUtils]: 51: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,023 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #89#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,023 INFO L290 TraceCheckUtils]: 49: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,023 INFO L290 TraceCheckUtils]: 48: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,023 INFO L290 TraceCheckUtils]: 47: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,023 INFO L272 TraceCheckUtils]: 46: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,024 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #87#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,024 INFO L290 TraceCheckUtils]: 44: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,024 INFO L290 TraceCheckUtils]: 43: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,024 INFO L290 TraceCheckUtils]: 42: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,024 INFO L272 TraceCheckUtils]: 41: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,024 INFO L290 TraceCheckUtils]: 40: Hoare triple {14126#(<= 1 main_~p~0)} assume !false; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,025 INFO L290 TraceCheckUtils]: 39: Hoare triple {14126#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,025 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #91#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,025 INFO L290 TraceCheckUtils]: 37: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,025 INFO L290 TraceCheckUtils]: 36: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,025 INFO L290 TraceCheckUtils]: 35: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,026 INFO L272 TraceCheckUtils]: 34: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,027 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #89#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,027 INFO L290 TraceCheckUtils]: 32: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,027 INFO L290 TraceCheckUtils]: 31: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,027 INFO L290 TraceCheckUtils]: 30: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,028 INFO L272 TraceCheckUtils]: 29: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,028 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {14055#true} {14126#(<= 1 main_~p~0)} #87#return; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,028 INFO L290 TraceCheckUtils]: 27: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,028 INFO L290 TraceCheckUtils]: 26: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,028 INFO L272 TraceCheckUtils]: 24: Hoare triple {14126#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {14126#(<= 1 main_~p~0)} assume !false; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {14055#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {14126#(<= 1 main_~p~0)} is VALID [2022-04-28 13:09:05,029 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14055#true} {14055#true} #85#return; {14055#true} is VALID [2022-04-28 13:09:05,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,029 INFO L272 TraceCheckUtils]: 17: Hoare triple {14055#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,029 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14055#true} {14055#true} #83#return; {14055#true} is VALID [2022-04-28 13:09:05,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,029 INFO L290 TraceCheckUtils]: 14: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L272 TraceCheckUtils]: 12: Hoare triple {14055#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L290 TraceCheckUtils]: 11: Hoare triple {14055#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14055#true} {14055#true} #81#return; {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L290 TraceCheckUtils]: 9: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {14055#true} assume !(0 == ~cond); {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L290 TraceCheckUtils]: 7: Hoare triple {14055#true} ~cond := #in~cond; {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L272 TraceCheckUtils]: 6: Hoare triple {14055#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L290 TraceCheckUtils]: 5: Hoare triple {14055#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; {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L272 TraceCheckUtils]: 4: Hoare triple {14055#true} call #t~ret6 := main(); {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14055#true} {14055#true} #101#return; {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {14055#true} assume true; {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {14055#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {14055#true} is VALID [2022-04-28 13:09:05,030 INFO L272 TraceCheckUtils]: 0: Hoare triple {14055#true} call ULTIMATE.init(); {14055#true} is VALID [2022-04-28 13:09:05,031 INFO L134 CoverageAnalysis]: Checked inductivity of 558 backedges. 57 proven. 4 refuted. 0 times theorem prover too weak. 497 trivial. 0 not checked. [2022-04-28 13:09:05,031 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:09:05,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [701248617] [2022-04-28 13:09:05,031 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:09:05,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [777718554] [2022-04-28 13:09:05,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [777718554] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:09:05,031 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:09:05,031 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 6 [2022-04-28 13:09:05,032 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:09:05,032 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [138100089] [2022-04-28 13:09:05,032 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [138100089] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:09:05,032 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:09:05,032 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 13:09:05,032 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [756722305] [2022-04-28 13:09:05,032 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:09:05,032 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) Word has length 120 [2022-04-28 13:09:05,033 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:09:05,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 13:09:05,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:05,106 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 13:09:05,106 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:09:05,107 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 13:09:05,107 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:09:05,107 INFO L87 Difference]: Start difference. First operand 124 states and 142 transitions. Second operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 13:09:05,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:05,505 INFO L93 Difference]: Finished difference Result 150 states and 178 transitions. [2022-04-28 13:09:05,506 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 13:09:05,506 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) Word has length 120 [2022-04-28 13:09:05,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:09:05,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 13:09:05,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-04-28 13:09:05,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 13:09:05,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2022-04-28 13:09:05,510 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2022-04-28 13:09:05,648 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:09:05,650 INFO L225 Difference]: With dead ends: 150 [2022-04-28 13:09:05,650 INFO L226 Difference]: Without dead ends: 137 [2022-04-28 13:09:05,650 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 239 GetRequests, 230 SyntacticMatches, 5 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-04-28 13:09:05,651 INFO L413 NwaCegarLoop]: 66 mSDtfsCounter, 14 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:09:05,651 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 138 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 13:09:05,652 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-28 13:09:05,796 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 137. [2022-04-28 13:09:05,796 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:09:05,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:09:05,797 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:09:05,797 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:09:05,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:05,800 INFO L93 Difference]: Finished difference Result 137 states and 162 transitions. [2022-04-28 13:09:05,800 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-28 13:09:05,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:09:05,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:09:05,801 INFO L74 IsIncluded]: Start isIncluded. First operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 137 states. [2022-04-28 13:09:05,801 INFO L87 Difference]: Start difference. First operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) Second operand 137 states. [2022-04-28 13:09:05,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:09:05,804 INFO L93 Difference]: Finished difference Result 137 states and 162 transitions. [2022-04-28 13:09:05,804 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-28 13:09:05,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:09:05,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:09:05,805 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:09:05,805 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:09:05,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 137 states, 83 states have (on average 1.108433734939759) internal successors, (92), 87 states have internal predecessors, (92), 36 states have call successors, (36), 18 states have call predecessors, (36), 17 states have return successors, (34), 31 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-28 13:09:05,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 162 transitions. [2022-04-28 13:09:05,808 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 162 transitions. Word has length 120 [2022-04-28 13:09:05,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:09:05,809 INFO L495 AbstractCegarLoop]: Abstraction has 137 states and 162 transitions. [2022-04-28 13:09:05,809 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 5 states have call predecessors, (20), 5 states have call successors, (20) [2022-04-28 13:09:05,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 137 states and 162 transitions. [2022-04-28 13:09:06,160 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 13:09:06,160 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 162 transitions. [2022-04-28 13:09:06,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 13:09:06,161 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:09:06,161 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 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 13:09:06,187 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 13:09:06,361 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 13:09:06,362 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:09:06,362 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:09:06,362 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 13 times [2022-04-28 13:09:06,362 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:09:06,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1304020387] [2022-04-28 13:09:06,363 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:09:06,363 INFO L85 PathProgramCache]: Analyzing trace with hash 515319041, now seen corresponding path program 14 times [2022-04-28 13:09:06,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:09:06,363 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1864550130] [2022-04-28 13:09:06,363 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:09:06,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:09:06,374 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:09:06,374 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [477771910] [2022-04-28 13:09:06,375 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 13:09:06,375 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:09:06,375 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:09:06,376 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 13:09:06,376 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 13:09:06,430 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 13:09:06,430 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:09:06,431 INFO L263 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-28 13:09:06,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:09:06,453 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:09:11,926 INFO L272 TraceCheckUtils]: 0: Hoare triple {15628#true} call ULTIMATE.init(); {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {15628#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L290 TraceCheckUtils]: 2: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15628#true} {15628#true} #101#return; {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {15628#true} call #t~ret6 := main(); {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {15628#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; {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L272 TraceCheckUtils]: 6: Hoare triple {15628#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15628#true} {15628#true} #81#return; {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L290 TraceCheckUtils]: 11: Hoare triple {15628#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L272 TraceCheckUtils]: 12: Hoare triple {15628#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L290 TraceCheckUtils]: 13: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15628#true} {15628#true} #83#return; {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L272 TraceCheckUtils]: 17: Hoare triple {15628#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L290 TraceCheckUtils]: 19: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,927 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15628#true} {15628#true} #85#return; {15628#true} is VALID [2022-04-28 13:09:11,928 INFO L290 TraceCheckUtils]: 22: Hoare triple {15628#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15699#(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 13:09:11,928 INFO L290 TraceCheckUtils]: 23: Hoare triple {15699#(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 !false; {15699#(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 13:09:11,928 INFO L272 TraceCheckUtils]: 24: Hoare triple {15699#(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)); {15628#true} is VALID [2022-04-28 13:09:11,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,928 INFO L290 TraceCheckUtils]: 26: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,928 INFO L290 TraceCheckUtils]: 27: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,929 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15628#true} {15699#(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))} #87#return; {15699#(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 13:09:11,929 INFO L272 TraceCheckUtils]: 29: Hoare triple {15699#(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)); {15628#true} is VALID [2022-04-28 13:09:11,929 INFO L290 TraceCheckUtils]: 30: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,929 INFO L290 TraceCheckUtils]: 31: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,929 INFO L290 TraceCheckUtils]: 32: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,930 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15628#true} {15699#(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))} #89#return; {15699#(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 13:09:11,930 INFO L272 TraceCheckUtils]: 34: Hoare triple {15699#(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)); {15628#true} is VALID [2022-04-28 13:09:11,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,930 INFO L290 TraceCheckUtils]: 36: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,930 INFO L290 TraceCheckUtils]: 37: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,931 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15628#true} {15699#(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))} #91#return; {15699#(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 13:09:11,932 INFO L290 TraceCheckUtils]: 39: Hoare triple {15699#(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; {15751#(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))} is VALID [2022-04-28 13:09:11,933 INFO L290 TraceCheckUtils]: 40: Hoare triple {15751#(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))} assume !false; {15751#(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))} is VALID [2022-04-28 13:09:11,933 INFO L272 TraceCheckUtils]: 41: Hoare triple {15751#(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))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,933 INFO L290 TraceCheckUtils]: 42: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,933 INFO L290 TraceCheckUtils]: 43: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,933 INFO L290 TraceCheckUtils]: 44: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,933 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {15628#true} {15751#(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))} #87#return; {15751#(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))} is VALID [2022-04-28 13:09:11,934 INFO L272 TraceCheckUtils]: 46: Hoare triple {15751#(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))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,934 INFO L290 TraceCheckUtils]: 47: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,934 INFO L290 TraceCheckUtils]: 48: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,934 INFO L290 TraceCheckUtils]: 49: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,934 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15628#true} {15751#(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))} #89#return; {15751#(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))} is VALID [2022-04-28 13:09:11,934 INFO L272 TraceCheckUtils]: 51: Hoare triple {15751#(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))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,934 INFO L290 TraceCheckUtils]: 52: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,935 INFO L290 TraceCheckUtils]: 53: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,935 INFO L290 TraceCheckUtils]: 54: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,935 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {15628#true} {15751#(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))} #91#return; {15751#(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))} is VALID [2022-04-28 13:09:11,936 INFO L290 TraceCheckUtils]: 56: Hoare triple {15751#(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))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,937 INFO L290 TraceCheckUtils]: 57: Hoare triple {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,937 INFO L272 TraceCheckUtils]: 58: Hoare triple {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,937 INFO L290 TraceCheckUtils]: 59: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,937 INFO L290 TraceCheckUtils]: 60: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,937 INFO L290 TraceCheckUtils]: 61: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,937 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15628#true} {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,937 INFO L272 TraceCheckUtils]: 63: Hoare triple {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,938 INFO L290 TraceCheckUtils]: 64: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,938 INFO L290 TraceCheckUtils]: 65: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,938 INFO L290 TraceCheckUtils]: 66: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,938 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15628#true} {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,938 INFO L272 TraceCheckUtils]: 68: Hoare triple {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,938 INFO L290 TraceCheckUtils]: 69: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,938 INFO L290 TraceCheckUtils]: 70: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,938 INFO L290 TraceCheckUtils]: 71: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,939 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15628#true} {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,940 INFO L290 TraceCheckUtils]: 73: Hoare triple {15803#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,940 INFO L290 TraceCheckUtils]: 74: Hoare triple {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,940 INFO L272 TraceCheckUtils]: 75: Hoare triple {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,941 INFO L290 TraceCheckUtils]: 76: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,941 INFO L290 TraceCheckUtils]: 77: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,941 INFO L290 TraceCheckUtils]: 78: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,941 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15628#true} {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #87#return; {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,941 INFO L272 TraceCheckUtils]: 80: Hoare triple {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,941 INFO L290 TraceCheckUtils]: 81: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,941 INFO L290 TraceCheckUtils]: 82: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,942 INFO L290 TraceCheckUtils]: 83: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,942 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15628#true} {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #89#return; {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,942 INFO L272 TraceCheckUtils]: 85: Hoare triple {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,942 INFO L290 TraceCheckUtils]: 86: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,942 INFO L290 TraceCheckUtils]: 87: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,942 INFO L290 TraceCheckUtils]: 88: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,943 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15628#true} {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #91#return; {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,943 INFO L290 TraceCheckUtils]: 90: Hoare triple {15855#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,944 INFO L290 TraceCheckUtils]: 91: Hoare triple {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,944 INFO L272 TraceCheckUtils]: 92: Hoare triple {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,944 INFO L290 TraceCheckUtils]: 93: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,944 INFO L290 TraceCheckUtils]: 94: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,944 INFO L290 TraceCheckUtils]: 95: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,945 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15628#true} {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #93#return; {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,945 INFO L272 TraceCheckUtils]: 97: Hoare triple {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,945 INFO L290 TraceCheckUtils]: 98: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,945 INFO L290 TraceCheckUtils]: 99: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,945 INFO L290 TraceCheckUtils]: 100: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,945 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {15628#true} {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #95#return; {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,948 INFO L290 TraceCheckUtils]: 102: Hoare triple {15907#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (* (mod main_~B~0 4294967296) 4) 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); {15944#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:09:11,949 INFO L290 TraceCheckUtils]: 103: Hoare triple {15944#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,950 INFO L290 TraceCheckUtils]: 104: Hoare triple {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} assume !false; {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,950 INFO L272 TraceCheckUtils]: 105: Hoare triple {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,950 INFO L290 TraceCheckUtils]: 106: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,950 INFO L290 TraceCheckUtils]: 107: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,950 INFO L290 TraceCheckUtils]: 108: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,950 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {15628#true} {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} #93#return; {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,951 INFO L272 TraceCheckUtils]: 110: Hoare triple {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:09:11,951 INFO L290 TraceCheckUtils]: 111: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:09:11,951 INFO L290 TraceCheckUtils]: 112: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:09:11,951 INFO L290 TraceCheckUtils]: 113: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:09:11,951 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {15628#true} {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} #95#return; {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-28 13:09:11,953 INFO L290 TraceCheckUtils]: 115: Hoare triple {15948#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~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); {15985#(and (= main_~p~0 (div main_~q~0 2)) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 4))} is VALID [2022-04-28 13:09:11,954 INFO L290 TraceCheckUtils]: 116: Hoare triple {15985#(and (= main_~p~0 (div main_~q~0 2)) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 4))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15989#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:09:11,955 INFO L290 TraceCheckUtils]: 117: Hoare triple {15989#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} assume !false; {15989#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} is VALID [2022-04-28 13:09:11,955 INFO L272 TraceCheckUtils]: 118: Hoare triple {15989#(and (= (+ (mod main_~A~0 4294967296) (* (- 4) (mod main_~B~0 4294967296)) (* (- 1) main_~r~0)) (div (* (mod main_~B~0 4294967296) 4) 2)) (= 2 (+ main_~q~0 (- 4))) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15996#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:09:11,956 INFO L290 TraceCheckUtils]: 119: Hoare triple {15996#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16000#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:09:11,956 INFO L290 TraceCheckUtils]: 120: Hoare triple {16000#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15629#false} is VALID [2022-04-28 13:09:11,956 INFO L290 TraceCheckUtils]: 121: Hoare triple {15629#false} assume !false; {15629#false} is VALID [2022-04-28 13:09:11,957 INFO L134 CoverageAnalysis]: Checked inductivity of 563 backedges. 32 proven. 39 refuted. 0 times theorem prover too weak. 492 trivial. 0 not checked. [2022-04-28 13:09:11,957 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:09:46,407 WARN L232 SmtUtils]: Spent 7.77s on a formula simplification that was a NOOP. DAG size: 142 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 13:10:18,080 INFO L290 TraceCheckUtils]: 121: Hoare triple {15629#false} assume !false; {15629#false} is VALID [2022-04-28 13:10:18,080 INFO L290 TraceCheckUtils]: 120: Hoare triple {16000#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15629#false} is VALID [2022-04-28 13:10:18,081 INFO L290 TraceCheckUtils]: 119: Hoare triple {15996#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16000#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:10:18,081 INFO L272 TraceCheckUtils]: 118: Hoare triple {16016#(= (+ 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)); {15996#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:10:18,082 INFO L290 TraceCheckUtils]: 117: Hoare triple {16016#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {16016#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:10:18,085 INFO L290 TraceCheckUtils]: 116: Hoare triple {16023#(= (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; {16016#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 13:10:18,098 INFO L290 TraceCheckUtils]: 115: Hoare triple {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 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); {16023#(= (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 13:10:18,099 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {15628#true} {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #95#return; {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:10:18,099 INFO L290 TraceCheckUtils]: 113: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,100 INFO L290 TraceCheckUtils]: 112: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,100 INFO L290 TraceCheckUtils]: 111: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,100 INFO L272 TraceCheckUtils]: 110: Hoare triple {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,100 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {15628#true} {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} #93#return; {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:10:18,100 INFO L290 TraceCheckUtils]: 108: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,100 INFO L290 TraceCheckUtils]: 107: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,100 INFO L290 TraceCheckUtils]: 106: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,101 INFO L272 TraceCheckUtils]: 105: Hoare triple {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,102 INFO L290 TraceCheckUtils]: 104: Hoare triple {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} assume !false; {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:10:18,121 INFO L290 TraceCheckUtils]: 103: Hoare triple {16064#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {16027#(and (or (and (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)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (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)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (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_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:10:18,359 INFO L290 TraceCheckUtils]: 102: Hoare triple {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (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); {16064#(and (or (not (< main_~p~0 0)) (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))))} is VALID [2022-04-28 13:10:18,360 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {15628#true} {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #95#return; {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:10:18,360 INFO L290 TraceCheckUtils]: 100: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,360 INFO L290 TraceCheckUtils]: 99: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,360 INFO L290 TraceCheckUtils]: 98: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,361 INFO L272 TraceCheckUtils]: 97: Hoare triple {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (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)); {15628#true} is VALID [2022-04-28 13:10:18,361 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {15628#true} {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} #93#return; {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:10:18,361 INFO L290 TraceCheckUtils]: 95: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,362 INFO L290 TraceCheckUtils]: 94: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,362 INFO L290 TraceCheckUtils]: 93: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,362 INFO L272 TraceCheckUtils]: 92: Hoare triple {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (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)); {15628#true} is VALID [2022-04-28 13:10:18,366 INFO L290 TraceCheckUtils]: 91: Hoare triple {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} assume !false; {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:10:18,370 INFO L290 TraceCheckUtils]: 90: Hoare triple {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {16068#(and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))))} is VALID [2022-04-28 13:10:18,378 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {15628#true} {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:10:18,378 INFO L290 TraceCheckUtils]: 88: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,378 INFO L290 TraceCheckUtils]: 87: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,378 INFO L290 TraceCheckUtils]: 86: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,378 INFO L272 TraceCheckUtils]: 85: Hoare triple {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,380 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {15628#true} {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:10:18,380 INFO L290 TraceCheckUtils]: 83: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,381 INFO L290 TraceCheckUtils]: 82: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,381 INFO L290 TraceCheckUtils]: 81: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,381 INFO L272 TraceCheckUtils]: 80: Hoare triple {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,382 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {15628#true} {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:10:18,382 INFO L290 TraceCheckUtils]: 78: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,382 INFO L290 TraceCheckUtils]: 77: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,382 INFO L290 TraceCheckUtils]: 76: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,382 INFO L272 TraceCheckUtils]: 75: Hoare triple {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,386 INFO L290 TraceCheckUtils]: 74: Hoare triple {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:10:18,425 INFO L290 TraceCheckUtils]: 73: Hoare triple {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16105#(or (and (or (and (or (and (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (+ (- 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) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (= (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (and (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 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))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (mod main_~A~0 4294967296) (+ (- 2) 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) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 13:10:18,426 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15628#true} {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:18,426 INFO L290 TraceCheckUtils]: 71: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,426 INFO L290 TraceCheckUtils]: 70: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,426 INFO L290 TraceCheckUtils]: 69: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,426 INFO L272 TraceCheckUtils]: 68: Hoare triple {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,427 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {15628#true} {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:18,427 INFO L290 TraceCheckUtils]: 66: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,427 INFO L290 TraceCheckUtils]: 65: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,427 INFO L290 TraceCheckUtils]: 64: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,427 INFO L272 TraceCheckUtils]: 63: Hoare triple {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,428 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15628#true} {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:18,428 INFO L290 TraceCheckUtils]: 61: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,428 INFO L290 TraceCheckUtils]: 60: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,428 INFO L290 TraceCheckUtils]: 59: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,428 INFO L272 TraceCheckUtils]: 58: Hoare triple {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,429 INFO L290 TraceCheckUtils]: 57: Hoare triple {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:18,433 INFO L290 TraceCheckUtils]: 56: Hoare triple {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16157#(or (and (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0 1)) main_~r~0 (* (- 1) (div (div (* main_~d~0 2) 2) 2)))) (not (< main_~p~0 0)) (= (mod (div (* main_~p~0 2) 2) 2) 0))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:18,434 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {15628#true} {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #91#return; {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:10:18,434 INFO L290 TraceCheckUtils]: 54: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,434 INFO L290 TraceCheckUtils]: 53: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,434 INFO L290 TraceCheckUtils]: 52: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,434 INFO L272 TraceCheckUtils]: 51: Hoare triple {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,435 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15628#true} {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #89#return; {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:10:18,435 INFO L290 TraceCheckUtils]: 49: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,435 INFO L290 TraceCheckUtils]: 48: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,435 INFO L290 TraceCheckUtils]: 47: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,435 INFO L272 TraceCheckUtils]: 46: Hoare triple {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,435 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {15628#true} {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} #87#return; {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:10:18,436 INFO L290 TraceCheckUtils]: 44: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,436 INFO L290 TraceCheckUtils]: 43: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,436 INFO L290 TraceCheckUtils]: 42: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,436 INFO L272 TraceCheckUtils]: 41: Hoare triple {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,436 INFO L290 TraceCheckUtils]: 40: Hoare triple {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} assume !false; {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:10:18,439 INFO L290 TraceCheckUtils]: 39: Hoare triple {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16209#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (div (* main_~d~0 4) 2) 2)) (* (- 1) (div (* main_~d~0 4) 2)) main_~r~0 (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)))))} is VALID [2022-04-28 13:10:18,439 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {15628#true} {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #91#return; {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-28 13:10:18,439 INFO L290 TraceCheckUtils]: 37: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,439 INFO L290 TraceCheckUtils]: 36: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,440 INFO L290 TraceCheckUtils]: 35: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,440 INFO L272 TraceCheckUtils]: 34: Hoare triple {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,440 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15628#true} {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #89#return; {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-28 13:10:18,440 INFO L290 TraceCheckUtils]: 32: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,440 INFO L290 TraceCheckUtils]: 31: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,440 INFO L290 TraceCheckUtils]: 30: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,440 INFO L272 TraceCheckUtils]: 29: Hoare triple {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,441 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15628#true} {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} #87#return; {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-28 13:10:18,441 INFO L290 TraceCheckUtils]: 27: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,441 INFO L290 TraceCheckUtils]: 26: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,441 INFO L272 TraceCheckUtils]: 24: Hoare triple {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,442 INFO L290 TraceCheckUtils]: 23: Hoare triple {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} assume !false; {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-28 13:10:18,444 INFO L290 TraceCheckUtils]: 22: Hoare triple {15628#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {16261#(or (= (mod main_~A~0 4294967296) (+ (* (+ (div (div (* main_~p~0 8) 2) 2) (div (* main_~p~0 8) 2) main_~q~0) (mod main_~B~0 4294967296)) (* (- 1) (div (* main_~d~0 8) 2)) (* (- 1) (div (div (* main_~d~0 8) 2) 2)) main_~r~0)) (<= (* main_~d~0 8) main_~r~0) (not (<= (* main_~d~0 4) main_~r~0)))} is VALID [2022-04-28 13:10:18,444 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15628#true} {15628#true} #85#return; {15628#true} is VALID [2022-04-28 13:10:18,444 INFO L290 TraceCheckUtils]: 20: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,444 INFO L290 TraceCheckUtils]: 19: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,444 INFO L290 TraceCheckUtils]: 18: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,444 INFO L272 TraceCheckUtils]: 17: Hoare triple {15628#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,444 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15628#true} {15628#true} #83#return; {15628#true} is VALID [2022-04-28 13:10:18,444 INFO L290 TraceCheckUtils]: 15: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 14: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 13: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L272 TraceCheckUtils]: 12: Hoare triple {15628#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 11: Hoare triple {15628#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15628#true} {15628#true} #81#return; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 9: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 8: Hoare triple {15628#true} assume !(0 == ~cond); {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {15628#true} ~cond := #in~cond; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L272 TraceCheckUtils]: 6: Hoare triple {15628#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {15628#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; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {15628#true} call #t~ret6 := main(); {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15628#true} {15628#true} #101#return; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {15628#true} assume true; {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {15628#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {15628#true} is VALID [2022-04-28 13:10:18,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {15628#true} call ULTIMATE.init(); {15628#true} is VALID [2022-04-28 13:10:18,447 INFO L134 CoverageAnalysis]: Checked inductivity of 563 backedges. 32 proven. 39 refuted. 0 times theorem prover too weak. 492 trivial. 0 not checked. [2022-04-28 13:10:18,447 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:10:18,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1864550130] [2022-04-28 13:10:18,447 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:10:18,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [477771910] [2022-04-28 13:10:18,447 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [477771910] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:10:18,447 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:10:18,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 22 [2022-04-28 13:10:18,447 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:10:18,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1304020387] [2022-04-28 13:10:18,448 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1304020387] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:10:18,448 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:10:18,448 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 13:10:18,448 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [379872826] [2022-04-28 13:10:18,448 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:10:18,448 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) Word has length 122 [2022-04-28 13:10:18,449 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:10:18,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:10:18,557 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:10:18,557 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 13:10:18,557 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:10:18,558 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 13:10:18,558 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=109, Invalid=353, Unknown=0, NotChecked=0, Total=462 [2022-04-28 13:10:18,558 INFO L87 Difference]: Start difference. First operand 137 states and 162 transitions. Second operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:10:23,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:10:23,400 INFO L93 Difference]: Finished difference Result 241 states and 293 transitions. [2022-04-28 13:10:23,400 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 13:10:23,400 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) Word has length 122 [2022-04-28 13:10:23,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:10:23,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:10:23,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 131 transitions. [2022-04-28 13:10:23,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:10:23,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 131 transitions. [2022-04-28 13:10:23,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 131 transitions. [2022-04-28 13:10:23,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:10:23,637 INFO L225 Difference]: With dead ends: 241 [2022-04-28 13:10:23,637 INFO L226 Difference]: Without dead ends: 195 [2022-04-28 13:10:23,638 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 244 GetRequests, 222 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 73 ImplicationChecksByTransitivity, 17.5s TimeCoverageRelationStatistics Valid=113, Invalid=393, Unknown=0, NotChecked=0, Total=506 [2022-04-28 13:10:23,638 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 12 mSDsluCounter, 298 mSDsCounter, 0 mSdLazyCounter, 646 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 360 SdHoareTripleChecker+Invalid, 668 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 646 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-28 13:10:23,639 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 360 Invalid, 668 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 646 Invalid, 0 Unknown, 0 Unchecked, 2.0s Time] [2022-04-28 13:10:23,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 195 states. [2022-04-28 13:10:23,819 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 195 to 192. [2022-04-28 13:10:23,819 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:10:23,820 INFO L82 GeneralOperation]: Start isEquivalent. First operand 195 states. Second operand has 192 states, 118 states have (on average 1.1101694915254237) internal successors, (131), 123 states have internal predecessors, (131), 49 states have call successors, (49), 25 states have call predecessors, (49), 24 states have return successors, (47), 43 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 13:10:23,820 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand has 192 states, 118 states have (on average 1.1101694915254237) internal successors, (131), 123 states have internal predecessors, (131), 49 states have call successors, (49), 25 states have call predecessors, (49), 24 states have return successors, (47), 43 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 13:10:23,820 INFO L87 Difference]: Start difference. First operand 195 states. Second operand has 192 states, 118 states have (on average 1.1101694915254237) internal successors, (131), 123 states have internal predecessors, (131), 49 states have call successors, (49), 25 states have call predecessors, (49), 24 states have return successors, (47), 43 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 13:10:23,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:10:23,825 INFO L93 Difference]: Finished difference Result 195 states and 231 transitions. [2022-04-28 13:10:23,825 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 231 transitions. [2022-04-28 13:10:23,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:10:23,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:10:23,826 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 118 states have (on average 1.1101694915254237) internal successors, (131), 123 states have internal predecessors, (131), 49 states have call successors, (49), 25 states have call predecessors, (49), 24 states have return successors, (47), 43 states have call predecessors, (47), 47 states have call successors, (47) Second operand 195 states. [2022-04-28 13:10:23,827 INFO L87 Difference]: Start difference. First operand has 192 states, 118 states have (on average 1.1101694915254237) internal successors, (131), 123 states have internal predecessors, (131), 49 states have call successors, (49), 25 states have call predecessors, (49), 24 states have return successors, (47), 43 states have call predecessors, (47), 47 states have call successors, (47) Second operand 195 states. [2022-04-28 13:10:23,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:10:23,831 INFO L93 Difference]: Finished difference Result 195 states and 231 transitions. [2022-04-28 13:10:23,832 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 231 transitions. [2022-04-28 13:10:23,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:10:23,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:10:23,832 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:10:23,832 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:10:23,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 118 states have (on average 1.1101694915254237) internal successors, (131), 123 states have internal predecessors, (131), 49 states have call successors, (49), 25 states have call predecessors, (49), 24 states have return successors, (47), 43 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-28 13:10:23,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 227 transitions. [2022-04-28 13:10:23,838 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 227 transitions. Word has length 122 [2022-04-28 13:10:23,838 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:10:23,838 INFO L495 AbstractCegarLoop]: Abstraction has 192 states and 227 transitions. [2022-04-28 13:10:23,838 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (22), 2 states have call predecessors, (22), 1 states have return successors, (20), 7 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-28 13:10:23,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 227 transitions. [2022-04-28 13:10:24,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 227 edges. 227 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:10:24,337 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 227 transitions. [2022-04-28 13:10:24,337 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-28 13:10:24,338 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:10:24,338 INFO L195 NwaCegarLoop]: trace histogram [18, 17, 17, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 13:10:24,354 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-28 13:10:24,538 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 13:10:24,538 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:10:24,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:10:24,539 INFO L85 PathProgramCache]: Analyzing trace with hash -1224833083, now seen corresponding path program 15 times [2022-04-28 13:10:24,539 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:10:24,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2108470321] [2022-04-28 13:10:24,540 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:10:24,541 INFO L85 PathProgramCache]: Analyzing trace with hash -1224833083, now seen corresponding path program 16 times [2022-04-28 13:10:24,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:10:24,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [571702304] [2022-04-28 13:10:24,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:10:24,541 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:10:24,557 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:10:24,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1267372997] [2022-04-28 13:10:24,557 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 13:10:24,557 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:10:24,557 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:10:24,558 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 13:10:24,559 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 13:10:24,624 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 13:10:24,624 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:10:24,625 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 13:10:24,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:10:24,649 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 13:10:26,732 INFO L272 TraceCheckUtils]: 0: Hoare triple {17639#true} call ULTIMATE.init(); {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {17639#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17639#true} {17639#true} #101#return; {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L272 TraceCheckUtils]: 4: Hoare triple {17639#true} call #t~ret6 := main(); {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {17639#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; {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L272 TraceCheckUtils]: 6: Hoare triple {17639#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17639#true} {17639#true} #81#return; {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {17639#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L272 TraceCheckUtils]: 12: Hoare triple {17639#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,733 INFO L290 TraceCheckUtils]: 13: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L290 TraceCheckUtils]: 14: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L290 TraceCheckUtils]: 15: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17639#true} {17639#true} #83#return; {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L272 TraceCheckUtils]: 17: Hoare triple {17639#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L290 TraceCheckUtils]: 18: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L290 TraceCheckUtils]: 19: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17639#true} {17639#true} #85#return; {17639#true} is VALID [2022-04-28 13:10:26,734 INFO L290 TraceCheckUtils]: 22: Hoare triple {17639#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:10:26,735 INFO L290 TraceCheckUtils]: 23: Hoare triple {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:10:26,735 INFO L272 TraceCheckUtils]: 24: Hoare triple {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,735 INFO L290 TraceCheckUtils]: 27: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,736 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17639#true} {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:10:26,736 INFO L272 TraceCheckUtils]: 29: Hoare triple {17710#(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)); {17639#true} is VALID [2022-04-28 13:10:26,736 INFO L290 TraceCheckUtils]: 30: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,736 INFO L290 TraceCheckUtils]: 31: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,736 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17639#true} {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:10:26,737 INFO L272 TraceCheckUtils]: 34: Hoare triple {17710#(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)); {17639#true} is VALID [2022-04-28 13:10:26,737 INFO L290 TraceCheckUtils]: 35: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,737 INFO L290 TraceCheckUtils]: 36: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,737 INFO L290 TraceCheckUtils]: 37: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,737 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {17639#true} {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {17710#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 13:10:26,739 INFO L290 TraceCheckUtils]: 39: Hoare triple {17710#(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; {17762#(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 13:10:26,740 INFO L290 TraceCheckUtils]: 40: Hoare triple {17762#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {17762#(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 13:10:26,740 INFO L272 TraceCheckUtils]: 41: Hoare triple {17762#(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)); {17639#true} is VALID [2022-04-28 13:10:26,740 INFO L290 TraceCheckUtils]: 42: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,740 INFO L290 TraceCheckUtils]: 43: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,740 INFO L290 TraceCheckUtils]: 44: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,741 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {17639#true} {17762#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {17762#(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 13:10:26,741 INFO L272 TraceCheckUtils]: 46: Hoare triple {17762#(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)); {17639#true} is VALID [2022-04-28 13:10:26,741 INFO L290 TraceCheckUtils]: 47: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,741 INFO L290 TraceCheckUtils]: 48: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,741 INFO L290 TraceCheckUtils]: 49: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,741 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17639#true} {17762#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {17762#(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 13:10:26,741 INFO L272 TraceCheckUtils]: 51: Hoare triple {17762#(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)); {17639#true} is VALID [2022-04-28 13:10:26,741 INFO L290 TraceCheckUtils]: 52: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,742 INFO L290 TraceCheckUtils]: 53: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,742 INFO L290 TraceCheckUtils]: 54: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,742 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {17639#true} {17762#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {17762#(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 13:10:26,744 INFO L290 TraceCheckUtils]: 56: Hoare triple {17762#(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);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:10:26,744 INFO L290 TraceCheckUtils]: 57: Hoare triple {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:10:26,745 INFO L272 TraceCheckUtils]: 58: Hoare triple {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,745 INFO L290 TraceCheckUtils]: 59: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,745 INFO L290 TraceCheckUtils]: 60: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,745 INFO L290 TraceCheckUtils]: 61: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,747 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {17639#true} {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:10:26,747 INFO L272 TraceCheckUtils]: 63: Hoare triple {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,747 INFO L290 TraceCheckUtils]: 64: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,747 INFO L290 TraceCheckUtils]: 65: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,747 INFO L290 TraceCheckUtils]: 66: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,748 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {17639#true} {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:10:26,748 INFO L272 TraceCheckUtils]: 68: Hoare triple {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,748 INFO L290 TraceCheckUtils]: 69: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,748 INFO L290 TraceCheckUtils]: 70: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,748 INFO L290 TraceCheckUtils]: 71: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,749 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {17639#true} {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 13:10:26,751 INFO L290 TraceCheckUtils]: 73: Hoare triple {17814#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~p~0 4) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,751 INFO L290 TraceCheckUtils]: 74: Hoare triple {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,751 INFO L272 TraceCheckUtils]: 75: Hoare triple {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,751 INFO L290 TraceCheckUtils]: 76: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,751 INFO L290 TraceCheckUtils]: 77: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,751 INFO L290 TraceCheckUtils]: 78: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,752 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {17639#true} {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #87#return; {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,752 INFO L272 TraceCheckUtils]: 80: Hoare triple {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,752 INFO L290 TraceCheckUtils]: 81: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,752 INFO L290 TraceCheckUtils]: 82: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,752 INFO L290 TraceCheckUtils]: 83: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,753 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {17639#true} {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #89#return; {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,753 INFO L272 TraceCheckUtils]: 85: Hoare triple {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,753 INFO L290 TraceCheckUtils]: 86: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,753 INFO L290 TraceCheckUtils]: 87: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,753 INFO L290 TraceCheckUtils]: 88: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,753 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {17639#true} {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #91#return; {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,754 INFO L290 TraceCheckUtils]: 90: Hoare triple {17866#(and (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,754 INFO L290 TraceCheckUtils]: 91: Hoare triple {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,754 INFO L272 TraceCheckUtils]: 92: Hoare triple {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,754 INFO L290 TraceCheckUtils]: 93: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,754 INFO L290 TraceCheckUtils]: 94: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,755 INFO L290 TraceCheckUtils]: 95: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,755 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {17639#true} {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #93#return; {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,755 INFO L272 TraceCheckUtils]: 97: Hoare triple {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,755 INFO L290 TraceCheckUtils]: 98: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,755 INFO L290 TraceCheckUtils]: 99: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,755 INFO L290 TraceCheckUtils]: 100: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,756 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {17639#true} {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #95#return; {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,758 INFO L290 TraceCheckUtils]: 102: Hoare triple {17918#(and (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (<= (* (mod main_~B~0 4294967296) 4) 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); {17955#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-28 13:10:26,760 INFO L290 TraceCheckUtils]: 103: Hoare triple {17955#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:10:26,760 INFO L290 TraceCheckUtils]: 104: Hoare triple {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} assume !false; {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:10:26,760 INFO L272 TraceCheckUtils]: 105: Hoare triple {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,760 INFO L290 TraceCheckUtils]: 106: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,761 INFO L290 TraceCheckUtils]: 107: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,761 INFO L290 TraceCheckUtils]: 108: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,761 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {17639#true} {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} #93#return; {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:10:26,761 INFO L272 TraceCheckUtils]: 110: Hoare triple {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,761 INFO L290 TraceCheckUtils]: 111: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,761 INFO L290 TraceCheckUtils]: 112: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,761 INFO L290 TraceCheckUtils]: 113: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,762 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {17639#true} {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} #95#return; {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 4))} is VALID [2022-04-28 13:10:26,763 INFO L290 TraceCheckUtils]: 115: Hoare triple {17959#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= 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); {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} is VALID [2022-04-28 13:10:26,764 INFO L290 TraceCheckUtils]: 116: Hoare triple {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} is VALID [2022-04-28 13:10:26,764 INFO L290 TraceCheckUtils]: 117: Hoare triple {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} assume !false; {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} is VALID [2022-04-28 13:10:26,764 INFO L272 TraceCheckUtils]: 118: Hoare triple {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:26,764 INFO L290 TraceCheckUtils]: 119: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:26,765 INFO L290 TraceCheckUtils]: 120: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:26,765 INFO L290 TraceCheckUtils]: 121: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:26,765 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {17639#true} {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} #93#return; {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} is VALID [2022-04-28 13:10:26,766 INFO L272 TraceCheckUtils]: 123: Hoare triple {17996#(and (= main_~d~0 (div (div (* 8 (mod main_~B~0 4294967296)) 2) 2)) (< 0 (* (mod main_~B~0 4294967296) 4)) (= main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {18021#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:10:26,766 INFO L290 TraceCheckUtils]: 124: Hoare triple {18021#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18025#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:10:26,766 INFO L290 TraceCheckUtils]: 125: Hoare triple {18025#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17640#false} is VALID [2022-04-28 13:10:26,766 INFO L290 TraceCheckUtils]: 126: Hoare triple {17640#false} assume !false; {17640#false} is VALID [2022-04-28 13:10:26,767 INFO L134 CoverageAnalysis]: Checked inductivity of 631 backedges. 34 proven. 41 refuted. 0 times theorem prover too weak. 556 trivial. 0 not checked. [2022-04-28 13:10:26,767 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 13:10:44,049 INFO L290 TraceCheckUtils]: 126: Hoare triple {17640#false} assume !false; {17640#false} is VALID [2022-04-28 13:10:44,050 INFO L290 TraceCheckUtils]: 125: Hoare triple {18025#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17640#false} is VALID [2022-04-28 13:10:44,050 INFO L290 TraceCheckUtils]: 124: Hoare triple {18021#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18025#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 13:10:44,051 INFO L272 TraceCheckUtils]: 123: Hoare triple {18041#(= 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)); {18021#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 13:10:44,051 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {17639#true} {18041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {18041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:10:44,051 INFO L290 TraceCheckUtils]: 121: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,051 INFO L290 TraceCheckUtils]: 120: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,051 INFO L290 TraceCheckUtils]: 119: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,052 INFO L272 TraceCheckUtils]: 118: Hoare triple {18041#(= 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)); {17639#true} is VALID [2022-04-28 13:10:44,061 INFO L290 TraceCheckUtils]: 117: Hoare triple {18041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {18041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:10:44,061 INFO L290 TraceCheckUtils]: 116: Hoare triple {18041#(= 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; {18041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:10:44,073 INFO L290 TraceCheckUtils]: 115: Hoare triple {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} 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); {18041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 13:10:44,074 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {17639#true} {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:10:44,074 INFO L290 TraceCheckUtils]: 113: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,074 INFO L290 TraceCheckUtils]: 112: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,074 INFO L290 TraceCheckUtils]: 111: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,074 INFO L272 TraceCheckUtils]: 110: Hoare triple {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,074 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {17639#true} {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:10:44,075 INFO L290 TraceCheckUtils]: 108: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,075 INFO L290 TraceCheckUtils]: 107: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,075 INFO L290 TraceCheckUtils]: 106: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,075 INFO L272 TraceCheckUtils]: 105: Hoare triple {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,076 INFO L290 TraceCheckUtils]: 104: Hoare triple {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:10:44,077 INFO L290 TraceCheckUtils]: 103: Hoare triple {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:10:44,202 INFO L290 TraceCheckUtils]: 102: Hoare triple {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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); {18066#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 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_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 13:10:44,203 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {17639#true} {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))} #95#return; {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:10:44,203 INFO L290 TraceCheckUtils]: 100: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,203 INFO L290 TraceCheckUtils]: 99: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,203 INFO L290 TraceCheckUtils]: 98: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,203 INFO L272 TraceCheckUtils]: 97: Hoare triple {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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)); {17639#true} is VALID [2022-04-28 13:10:44,204 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {17639#true} {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))} #93#return; {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:10:44,204 INFO L290 TraceCheckUtils]: 95: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,204 INFO L290 TraceCheckUtils]: 94: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,204 INFO L290 TraceCheckUtils]: 93: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,204 INFO L272 TraceCheckUtils]: 92: Hoare triple {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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)); {17639#true} is VALID [2022-04-28 13:10:44,209 INFO L290 TraceCheckUtils]: 91: Hoare triple {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))} assume !false; {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:10:44,213 INFO L290 TraceCheckUtils]: 90: Hoare triple {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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); {18106#(and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))} is VALID [2022-04-28 13:10:44,214 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {17639#true} {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #91#return; {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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 13:10:44,214 INFO L290 TraceCheckUtils]: 88: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,214 INFO L290 TraceCheckUtils]: 87: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,214 INFO L290 TraceCheckUtils]: 86: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,214 INFO L272 TraceCheckUtils]: 85: Hoare triple {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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)); {17639#true} is VALID [2022-04-28 13:10:44,215 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {17639#true} {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #89#return; {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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 13:10:44,215 INFO L290 TraceCheckUtils]: 83: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,215 INFO L290 TraceCheckUtils]: 82: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,215 INFO L290 TraceCheckUtils]: 81: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,215 INFO L272 TraceCheckUtils]: 80: Hoare triple {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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)); {17639#true} is VALID [2022-04-28 13:10:44,216 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {17639#true} {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #87#return; {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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 13:10:44,216 INFO L290 TraceCheckUtils]: 78: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,216 INFO L290 TraceCheckUtils]: 77: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,216 INFO L290 TraceCheckUtils]: 76: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,216 INFO L272 TraceCheckUtils]: 75: Hoare triple {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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)); {17639#true} is VALID [2022-04-28 13:10:44,221 INFO L290 TraceCheckUtils]: 74: Hoare triple {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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 13:10:44,248 INFO L290 TraceCheckUtils]: 73: Hoare triple {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18143#(or (and (or (and (or (not (< main_~d~0 0)) (and (or (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296)) (div (+ (div main_~d~0 2) 1) 2))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1)))) (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* (mod main_~B~0 4294967296) (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~d~0 2) 2) 0))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0)) (or (= (div (div main_~d~0 2) 2) (* (div (div main_~p~0 2) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (and (or (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (div (div main_~d~0 2) 2) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0)))) (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (div (+ (div main_~p~0 2) 1) 2) (mod main_~B~0 4294967296))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (= (div (+ (div main_~d~0 2) 1) 2) (* (div (+ (div main_~p~0 2) 1) 2) (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 13:10:44,249 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {17639#true} {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:44,249 INFO L290 TraceCheckUtils]: 71: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,249 INFO L290 TraceCheckUtils]: 70: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,249 INFO L290 TraceCheckUtils]: 69: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,249 INFO L272 TraceCheckUtils]: 68: Hoare triple {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,250 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {17639#true} {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:44,250 INFO L290 TraceCheckUtils]: 66: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,250 INFO L290 TraceCheckUtils]: 65: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,250 INFO L290 TraceCheckUtils]: 64: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,250 INFO L272 TraceCheckUtils]: 63: Hoare triple {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,250 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {17639#true} {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:44,250 INFO L290 TraceCheckUtils]: 61: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,251 INFO L290 TraceCheckUtils]: 60: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,251 INFO L290 TraceCheckUtils]: 59: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,251 INFO L272 TraceCheckUtils]: 58: Hoare triple {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,251 INFO L290 TraceCheckUtils]: 57: Hoare triple {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:44,255 INFO L290 TraceCheckUtils]: 56: Hoare triple {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18195#(or (and (or (not (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2))) (or (= (* (div (div (* main_~p~0 2) 2) 2) (mod main_~B~0 4294967296)) (div (div (* main_~d~0 2) 2) 2)) (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)))) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 13:10:44,255 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {17639#true} {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #91#return; {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:10:44,255 INFO L290 TraceCheckUtils]: 54: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,255 INFO L290 TraceCheckUtils]: 53: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,255 INFO L290 TraceCheckUtils]: 52: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,255 INFO L272 TraceCheckUtils]: 51: Hoare triple {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,256 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17639#true} {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #89#return; {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:10:44,256 INFO L290 TraceCheckUtils]: 49: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,256 INFO L290 TraceCheckUtils]: 48: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,256 INFO L272 TraceCheckUtils]: 46: Hoare triple {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,257 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {17639#true} {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #87#return; {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:10:44,257 INFO L290 TraceCheckUtils]: 44: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,257 INFO L290 TraceCheckUtils]: 43: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,257 INFO L290 TraceCheckUtils]: 42: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,257 INFO L272 TraceCheckUtils]: 41: Hoare triple {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !false; {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:10:44,259 INFO L290 TraceCheckUtils]: 39: Hoare triple {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18247#(or (= (div (div (* main_~d~0 4) 2) 2) (* (div (div (* main_~p~0 4) 2) 2) (mod main_~B~0 4294967296))) (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-28 13:10:44,260 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {17639#true} {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} #91#return; {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} is VALID [2022-04-28 13:10:44,260 INFO L290 TraceCheckUtils]: 37: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,260 INFO L290 TraceCheckUtils]: 35: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,260 INFO L272 TraceCheckUtils]: 34: Hoare triple {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,261 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17639#true} {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} #89#return; {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} is VALID [2022-04-28 13:10:44,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,261 INFO L272 TraceCheckUtils]: 29: Hoare triple {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,262 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17639#true} {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} #87#return; {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} is VALID [2022-04-28 13:10:44,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,262 INFO L272 TraceCheckUtils]: 24: Hoare triple {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} assume !false; {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} is VALID [2022-04-28 13:10:44,263 INFO L290 TraceCheckUtils]: 22: Hoare triple {17639#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {18299#(or (= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~d~0 2)) (<= (* 7 main_~d~0) 0))} is VALID [2022-04-28 13:10:44,263 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17639#true} {17639#true} #85#return; {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L290 TraceCheckUtils]: 19: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L290 TraceCheckUtils]: 18: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L272 TraceCheckUtils]: 17: Hoare triple {17639#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17639#true} {17639#true} #83#return; {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L272 TraceCheckUtils]: 12: Hoare triple {17639#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 100 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,263 INFO L290 TraceCheckUtils]: 11: Hoare triple {17639#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17639#true} {17639#true} #81#return; {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {17639#true} assume !(0 == ~cond); {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {17639#true} ~cond := #in~cond; {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {17639#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 100 then 1 else 0)); {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {17639#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; {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {17639#true} call #t~ret6 := main(); {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17639#true} {17639#true} #101#return; {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {17639#true} assume true; {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {17639#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;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); {17639#true} is VALID [2022-04-28 13:10:44,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {17639#true} call ULTIMATE.init(); {17639#true} is VALID [2022-04-28 13:10:44,265 INFO L134 CoverageAnalysis]: Checked inductivity of 631 backedges. 34 proven. 41 refuted. 0 times theorem prover too weak. 556 trivial. 0 not checked. [2022-04-28 13:10:44,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 13:10:44,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [571702304] [2022-04-28 13:10:44,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 13:10:44,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1267372997] [2022-04-28 13:10:44,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1267372997] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 13:10:44,266 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 13:10:44,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 19 [2022-04-28 13:10:44,266 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 13:10:44,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2108470321] [2022-04-28 13:10:44,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2108470321] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 13:10:44,266 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 13:10:44,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 13:10:44,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1900113617] [2022-04-28 13:10:44,266 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 13:10:44,267 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 8 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) Word has length 127 [2022-04-28 13:10:44,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 13:10:44,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 8 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:10:44,378 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:10:44,378 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 13:10:44,378 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 13:10:44,378 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 13:10:44,379 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=251, Unknown=0, NotChecked=0, Total=342 [2022-04-28 13:10:44,379 INFO L87 Difference]: Start difference. First operand 192 states and 227 transitions. Second operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 8 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:10:47,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:10:47,270 INFO L93 Difference]: Finished difference Result 238 states and 285 transitions. [2022-04-28 13:10:47,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 13:10:47,270 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 8 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) Word has length 127 [2022-04-28 13:10:47,271 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 13:10:47,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 8 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:10:47,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 130 transitions. [2022-04-28 13:10:47,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 8 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:10:47,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 130 transitions. [2022-04-28 13:10:47,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 130 transitions. [2022-04-28 13:10:47,511 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:10:47,515 INFO L225 Difference]: With dead ends: 238 [2022-04-28 13:10:47,515 INFO L226 Difference]: Without dead ends: 209 [2022-04-28 13:10:47,516 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 254 GetRequests, 235 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 3.3s TimeCoverageRelationStatistics Valid=95, Invalid=285, Unknown=0, NotChecked=0, Total=380 [2022-04-28 13:10:47,516 INFO L413 NwaCegarLoop]: 72 mSDtfsCounter, 12 mSDsluCounter, 312 mSDsCounter, 0 mSdLazyCounter, 432 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 384 SdHoareTripleChecker+Invalid, 446 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 432 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 13:10:47,516 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 384 Invalid, 446 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 432 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 13:10:47,517 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 209 states. [2022-04-28 13:10:47,722 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 209 to 207. [2022-04-28 13:10:47,722 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 13:10:47,722 INFO L82 GeneralOperation]: Start isEquivalent. First operand 209 states. Second operand has 207 states, 128 states have (on average 1.1015625) internal successors, (141), 135 states have internal predecessors, (141), 52 states have call successors, (52), 27 states have call predecessors, (52), 26 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 13:10:47,723 INFO L74 IsIncluded]: Start isIncluded. First operand 209 states. Second operand has 207 states, 128 states have (on average 1.1015625) internal successors, (141), 135 states have internal predecessors, (141), 52 states have call successors, (52), 27 states have call predecessors, (52), 26 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 13:10:47,723 INFO L87 Difference]: Start difference. First operand 209 states. Second operand has 207 states, 128 states have (on average 1.1015625) internal successors, (141), 135 states have internal predecessors, (141), 52 states have call successors, (52), 27 states have call predecessors, (52), 26 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 13:10:47,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:10:47,727 INFO L93 Difference]: Finished difference Result 209 states and 245 transitions. [2022-04-28 13:10:47,728 INFO L276 IsEmpty]: Start isEmpty. Operand 209 states and 245 transitions. [2022-04-28 13:10:47,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:10:47,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:10:47,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 207 states, 128 states have (on average 1.1015625) internal successors, (141), 135 states have internal predecessors, (141), 52 states have call successors, (52), 27 states have call predecessors, (52), 26 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 209 states. [2022-04-28 13:10:47,729 INFO L87 Difference]: Start difference. First operand has 207 states, 128 states have (on average 1.1015625) internal successors, (141), 135 states have internal predecessors, (141), 52 states have call successors, (52), 27 states have call predecessors, (52), 26 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 209 states. [2022-04-28 13:10:47,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 13:10:47,734 INFO L93 Difference]: Finished difference Result 209 states and 245 transitions. [2022-04-28 13:10:47,734 INFO L276 IsEmpty]: Start isEmpty. Operand 209 states and 245 transitions. [2022-04-28 13:10:47,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 13:10:47,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 13:10:47,735 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 13:10:47,735 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 13:10:47,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 207 states, 128 states have (on average 1.1015625) internal successors, (141), 135 states have internal predecessors, (141), 52 states have call successors, (52), 27 states have call predecessors, (52), 26 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-28 13:10:47,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 242 transitions. [2022-04-28 13:10:47,740 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 242 transitions. Word has length 127 [2022-04-28 13:10:47,740 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 13:10:47,741 INFO L495 AbstractCegarLoop]: Abstraction has 207 states and 242 transitions. [2022-04-28 13:10:47,741 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 8 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (21), 8 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-28 13:10:47,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 207 states and 242 transitions. [2022-04-28 13:10:48,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 242 edges. 242 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 13:10:48,263 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 242 transitions. [2022-04-28 13:10:48,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-28 13:10:48,264 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 13:10:48,265 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 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] [2022-04-28 13:10:48,289 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 13:10:48,477 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 13:10:48,478 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 13:10:48,478 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 13:10:48,478 INFO L85 PathProgramCache]: Analyzing trace with hash -243845479, now seen corresponding path program 17 times [2022-04-28 13:10:48,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 13:10:48,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1959605542] [2022-04-28 13:10:48,478 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 13:10:48,479 INFO L85 PathProgramCache]: Analyzing trace with hash -243845479, now seen corresponding path program 18 times [2022-04-28 13:10:48,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 13:10:48,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [542265842] [2022-04-28 13:10:48,479 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 13:10:48,479 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 13:10:48,489 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 13:10:48,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [798835809] [2022-04-28 13:10:48,489 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 13:10:48,489 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 13:10:48,489 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 13:10:48,491 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 13:10:48,505 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 13:10:48,724 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-28 13:10:48,724 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 13:10:48,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 69 conjunts are in the unsatisfiable core [2022-04-28 13:10:48,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 13:10:48,753 INFO L286 TraceCheckSpWp]: Computing forward predicates...